Configuración

QuietGuard\Monitor\Config es un objeto de valor inmutable que todas las partes del núcleo consultan. No hay ni archivo de configuración ni estado global: usted construye uno y lo pasa a un Reporter.

Construir un Config

php
use QuietGuard\Monitor\Config;

$config = new Config(
    url: 'https://monitor.example.com',
    key: 'token-de-proyecto-mostrado-una-vez',
    timeout: 3,
    release: 'a1b2c3d',
    environments: ['production', 'staging'],
    traceLimit: 0,
);

Todas las propiedades son public readonly: un Config no puede modificarse después de su construcción.

Opciones

ParámetroTipoPor defectoDescripción
url?string(requerido)URL base del servidor Quiet Guard. Las rutas de endpoint se añaden a ella; una barra final se elimina.
key?string(requerido)El token de API del proyecto. Enviado como Authorization: Bearer <key>.
timeoutint3Timeout de transporte por petición, en segundos.
release?stringnullIdentificador de release opcional (p. ej. un SHA de commit) adjuntado al contexto de la excepción.
environmentsarray<int,string>[]Reportar únicamente desde estos entornos; un array vacío significa todos los entornos.
traceLimitint0Número de frames de pila conservados en un payload de excepción. 0 (por defecto) envía la traza completa; un valor positivo recorta.
redactarray<int,string>todas las formasFormas de valor enmascaradas antes del envío: email, iban, nir, card, phone. Pase [] para enviar los payloads intactos.
customRedactionsarray<string,string>[]Sus propias formas, con el formato etiqueta => patrón PCRE. Una etiqueta customer_ref enmascara como [redacted:customer_ref].

Métodos utilitarios

php
$config->isConfigured();             // true cuando url y key son ambos no vacíos
$config->reportsFrom('production');  // true si 'production' está permitido por $environments
  • isConfigured(): bool devuelve true únicamente cuando url y key son ambos no vacíos. El Reporter lo llama antes de cada envío y no hace nada, silenciosamente, cuando el cliente no está configurado.
  • reportsFrom(?string $environment): bool devuelve true cuando environments está vacío (reportar desde cualquier lugar) o cuando el entorno dado figura en la lista. Es la barrera que un adaptador utiliza para decidir si debe reportar en el entorno actual: el propio Reporter no la llama, de modo que es el host quien decide cuándo aplicarla.

Acerca de release y traceLimit

Config lleva release y traceLimit como fuente de verdad única. Cuando no se pasa ningún Payload\ExceptionPayloadBuilder al Reporter, se deriva uno automáticamente del Config, de modo que ambos valores se aplican a cada reporte sin configuración adicional. Los adaptadores que construyen su propio builder los leen del Config y se los pasan cuando cablean el Reporter.

Está leyendo la documentación PHP Core v1.0.