Configuration
Le bundle se configure sous une unique arborescence monitor, par convention dans config/packages/monitor.yaml. Chaque valeur correspond directement aux types du cœur monitor-php que le bundle câble pour vous.
Référence complète
Options
| Clé | Type | Défaut | Description |
|---|---|---|---|
enabled | bool | true | Interrupteur principal. À false, le bundle n'enregistre aucun service, rien n'est capturé. |
url | string | null | URL de base de votre serveur Quiet Guard. Les chemins d'endpoint y sont ajoutés ; un slash final est retiré. |
key | string | null | Le jeton d'API par projet, envoyé en Authorization: Bearer <key>. |
timeout | int | 3 | Délai d'expiration du transport, par requête, en secondes. |
release | string | null | Identifiant de release optionnel (par ex. un SHA de commit) attaché au contexte des exceptions et des logs. |
trace_limit | int | 0 | 0 (le défaut) envoie la pile d'appels complète avec chaque exception ; une valeur positive tronque la charge utile à ce nombre de frames. |
environments | liste de string | [] | Ne remonter que depuis ces environnements. Une liste vide signifie « tous les environnements ». Comparé à kernel.environment. |
scrub | liste de string | voir ci-dessous | Clés de contexte dont les valeurs sont masquées avant l'envoi (récursif, insensible à la casse). |
logs.enabled | bool | false | Active la transmission des logs. Le service handler est toujours enregistré tant que le bundle est activé ; à false, il ignore tous les enregistrements. Vous devez encore l'attacher à Monolog, voir Usage. |
logs.level | string | warning | Niveau minimal capturé par le handler (un nom de niveau Monolog). |
logs.max_batch | int | 200 | Vide le tampon de logs vers le serveur dès qu'il atteint ce nombre d'enregistrements. |
Clés de masquage par défaut
Lorsque vous ne définissez pas scrub, le bundle utilise :
Définir scrub remplace cette liste : pensez à y réinclure les valeurs par défaut que vous souhaitez conserver.
Variables d'environnement
Rien ne vous oblige à utiliser des variables d'environnement, mais c'est le motif recommandé pour garder les secrets hors du dépôt. Un câblage typique :
La forme %env(default::MONITOR_RELEASE)% retombe sur une valeur vide quand la variable n'est pas définie, et release reste donc simplement vide.
Restreindre les environnements
Par défaut (environments: []), le bundle remonte depuis tous les environnements, y compris dev. Pour ne remonter que depuis la production :
L'event subscriber d'exception comme le handler de logs Monolog vérifient cette liste contre kernel.environment avant tout envoi : dans tout autre environnement, rien ne quitte votre application, ni exceptions ni logs.
Correspondance configuration / services
| Configuration | Service construit |
|---|---|
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), toujours enregistré tant que le bundle est activé ; avec logs.enabled: false, il ignore tous les enregistrements, et un monolog.yaml qui le référence continue donc de compiler |
Consultez Usage pour le comportement de ces services à l'exécution.
Vous lisez la documentation Symfony Bundle v1.0.