Configuration

QuietGuard\Monitor\Config est un objet de valeur immuable que toutes les parties du cœur consultent. Il n'y a ni fichier de configuration ni état global, vous en construisez un et le passez à un Reporter.

Construire un Config

php
use QuietGuard\Monitor\Config;

$config = new Config(
    url: 'https://monitor.example.com',
    key: 'jeton-projet-affiche-une-fois',
    timeout: 3,
    release: 'a1b2c3d',
    environments: ['production', 'staging'],
    traceLimit: 0,
);

Toutes les propriétés sont public readonly : un Config ne peut pas être modifié après sa construction.

Options

ParamètreTypeDéfautDescription
url?string(requis)URL de base du serveur Quiet Guard. Les chemins d'endpoint y sont ajoutés ; un slash final est retiré.
key?string(requis)Le jeton d'API du projet. Envoyé en Authorization: Bearer <key>.
timeoutint3Timeout de transport par requête, en secondes.
release?stringnullIdentifiant de release optionnel (ex. un SHA de commit) attaché au contexte de l'exception.
environmentsarray<int,string>[]Ne remonter que depuis ces environnements ; un tableau vide signifie tous les environnements.
traceLimitint0Nombre de frames de pile conservées dans un payload d'exception. 0 (par défaut) envoie la trace complète ; une valeur positive tronque.
redactarray<int,string>toutes les formesFormes de valeurs masquées avant l'envoi : email, iban, nir, card, phone. Passez [] pour envoyer les payloads intacts.
customRedactionsarray<string,string>[]Vos propres formes, sous la forme libellé => motif PCRE. Un libellé customer_ref masque en [redacted:customer_ref].

Méthodes utilitaires

php
$config->isConfigured();             // true quand url et key sont tous deux non vides
$config->reportsFrom('production');  // true si 'production' est autorisé par $environments
  • isConfigured(): bool renvoie true uniquement quand url et key sont tous deux non vides. Le Reporter l'appelle avant chaque envoi et ne fait rien silencieusement quand le client n'est pas configuré.
  • reportsFrom(?string $environment): bool renvoie true quand environments est vide (remonter partout) ou quand l'environnement donné figure dans la liste. C'est la barrière qu'un adaptateur utilise pour décider s'il doit remonter dans l'environnement courant: le Reporter lui-même ne l'appelle pas, c'est donc l'hôte qui décide quand l'appliquer.

À propos de release et traceLimit

Config porte release et traceLimit comme source de vérité unique. Quand aucun Payload\ExceptionPayloadBuilder n'est passé au Reporter, un builder est dérivé automatiquement du Config : les deux valeurs s'appliquent donc à chaque rapport sans configuration supplémentaire. Les adaptateurs qui construisent leur propre builder les lisent sur le Config et les lui passent lorsqu'ils câblent le Reporter.

Vous lisez la documentation PHP Core v1.0.