Configuración
El bundle se configura bajo un único árbol monitor, por convención en config/packages/monitor.yaml. Cada valor corresponde directamente a los tipos del núcleo monitor-php que el bundle conecta por usted.
Referencia completa
Opciones
| Clave | Tipo | Por defecto | Descripción |
|---|---|---|---|
enabled | bool | true | Interruptor principal. Con false, el bundle no registra ningún servicio, no se captura nada. |
url | string | null | URL base de su servidor Quiet Guard. Las rutas de los endpoints se añaden a ella; la barra final se elimina. |
key | string | null | El token de API por proyecto, enviado como Authorization: Bearer <key>. |
timeout | int | 3 | Tiempo de espera del transporte, por petición, en segundos. |
release | string | null | Identificador de release opcional (por ejemplo un SHA de commit) adjuntado al contexto de las excepciones y de los logs. |
trace_limit | int | 0 | 0 (el valor por defecto) envía la pila de llamadas completa con cada excepción; un valor positivo recorta la carga útil a ese número de frames. |
environments | lista de string | [] | Reportar únicamente desde estos entornos. Una lista vacía significa "todos los entornos". Se compara con kernel.environment. |
scrub | lista de string | ver más abajo | Claves de contexto cuyos valores se enmascaran antes del envío (recursivo, sin distinción de mayúsculas y minúsculas). |
logs.enabled | bool | false | Activa la transmisión de logs. El servicio handler siempre está registrado mientras el bundle está activado; con false, descarta todos los registros. Todavía debe adjuntarlo a Monolog, vea Uso. |
logs.level | string | warning | Nivel mínimo capturado por el handler (un nombre de nivel de Monolog). |
logs.max_batch | int | 200 | Vacía el búfer de logs hacia el servidor en cuanto alcanza este número de registros. |
Claves de enmascaramiento por defecto
Cuando usted no define scrub, el bundle utiliza:
Definir scrub reemplaza esta lista: recuerde volver a incluir los valores por defecto que desee conservar.
Variables de entorno
Nada le obliga a usar variables de entorno, pero es el patrón recomendado para mantener los secretos fuera del repositorio. Un cableado típico:
La forma %env(default::MONITOR_RELEASE)% recurre a un valor vacío cuando la variable no está definida, y release queda por tanto simplemente vacío.
Restringir los entornos
Por defecto (environments: []), el bundle reporta desde todos los entornos, incluido dev. Para reportar únicamente desde producción:
Tanto el event subscriber de excepciones como el handler de logs de Monolog comparan esta lista con kernel.environment antes de cualquier envío: en cualquier otro entorno, nada sale de su aplicación, ni excepciones ni logs.
Correspondencia configuración / servicios
| Configuración | Servicio construido |
|---|---|
url, key, timeout, release, environments, trace_limit | monitor.config (Config) |
scrub | monitor.scrubber (Scrubber) |
trace_limit, release | monitor.payload_builder (ExceptionPayloadBuilder) |
| — | monitor.http_client (CurlHttpClient), monitor.reporter (Reporter), monitor.exception_subscriber |
logs.* | monitor.log_handler (MonitorHandler), siempre registrado mientras el bundle está activado; con logs.enabled: false descarta todos los registros, de modo que un monolog.yaml que lo referencie sigue compilando |
Consulte Uso para conocer el comportamiento de estos servicios en tiempo de ejecución.
Está leyendo la documentación Symfony Bundle v1.0.