Uso
Una vez el plugin configurado y activado, ya no hay nada que llamar desde su código. El plugin instala automáticamente los handlers PHP globales y reporta los problemas por usted.
Qué se captura automáticamente
Cuando el plugin está activado con una URL de servidor y una clave de proyecto válidas, registra tres handlers PHP globales (a través del ErrorHandler del núcleo):
- Excepciones no interceptadas: todo
Throwableque llega al gestor de excepciones de PHP se reporta. - Errores PHP: las advertencias, notices y otros errores producidos durante la petición se encapsulan en excepciones y después se reportan. El handler respeta la supresión mediante
@y su nivelerror_reporting, y deja que el gestor nativo de PHP se ejecute a continuación: el comportamiento existente permanece por tanto sin cambios. - Errores fatales: al final del script, el plugin inspecciona el último error y lo reporta si era fatal (
E_ERROR,E_PARSE,E_CORE_ERROR,E_COMPILE_ERROR). Así es como un error fatal que termina la petición llega de todos modos a su panel.
Cada informe contiene la clase, el mensaje, el archivo y la línea de la excepción, así como la traza de pila completa por defecto (trace_limit vale 0); un valor positivo de trace_limit recorta la traza a ese número de frames. La release configurada se adjunta a cada evento.
El envío de informes está diseñado para no romper nunca su sitio: si el servidor es lento o inaccesible, el fallo se absorbe silenciosamente y la página sigue mostrándose.
Verificar el funcionamiento
Después de guardar sus ajustes, provoque un error inofensivo y confirme que aparece en su panel Quiet Guard para el proyecto. Una forma rápida consiste en añadir temporalmente un fragmento a un tema o a un pequeño plugin "must-use":
Cargue una vez cualquier página del sitio y consulte después las Issues del proyecto en el panel, debería aparecer una RuntimeException con el mensaje "Quiet Guard test exception". Retire el fragmento después.
Si no llega nada, verifique de nuevo que:
- Enabled vale
1, y que Server URL y Project key están definidos; - la Server URL es únicamente la URL base, sin ruta final;
- el servidor es accesible por HTTPS desde el host WordPress;
- el directorio del plugin se construyó con
composer install, de modo que su directoriovendor/existe (vea la Instalación).
Limpieza de datos sensibles
Antes de que un informe salga del sitio, sus datos de contexto pasan por el limpiador del núcleo, que enmascara los valores por clave. Toda clave cuyo nombre contenga uno de los términos siguientes (coincidencia por subcadena en el nombre de clave, sin distinción de mayúsculas y minúsculas, aplicada recursivamente a los arrays anidados) ve su valor reemplazado por [scrubbed]; una clave configurada password enmascara por tanto también user_password:
Esto evita enviar las credenciales evidentes a su servidor. La lista de limpieza está definida en el adaptador WordPress y no puede modificarse desde la pantalla de ajustes en esta versión.
Una segunda pasada se añade encima, procedente del núcleo y sin ajuste propio: los valores con forma de dirección de correo, IBAN, número de tarjeta, número de seguridad social o teléfono franceses se enmascaran estén donde estén, incluido el texto de un mensaje de error, y la máscara nombra lo que ocultó ([redacted:email]).
Punto de ingesta
Como referencia, los informes se entregan mediante una petición HTTPS POST a:
autenticada con la clave de proyecto como token Bearer. Es la misma API de ingesta neutra respecto a la plataforma que usan los clientes Laravel y Symfony: un sitio WordPress aparece por tanto junto a ellos en el mismo panel.
Siguiente paso
Consulte la Actualización para saber cómo actualizar el plugin.
Está leyendo la documentación WordPress Plugin v1.0.