Monolog – Connexion pour PHP

Monolog – Connexion pour PHP

Symfony est accompagné d’une bibliothèque externe - appelée Monolog - qui vous permet de créer l’enregistrement des activités pouvant être stockés à différents endroits.

Concepts fondamentaux de Monolog

* Chaque instance d’enregistrement a un canal (nom) et une pile de gestionnaires. Chaque fois que vous ajoutez un enregistrement à l'enregistreur, il parcourt la pile du gestionnaire. Chaque gestionnaire décide si elle va entièrement gérer l'enregistrement, et si oui, la propagation de l'enregistrement se termine là.

* Cela permet des configurations d’enregistrement flexibles, par exemple il dispose d'un StreamHandler au bas de la pile qui enregistrera n'importe quoi sur le disque, et un MailHandler qui enverra des emails uniquement lorsqu'un message d'erreur est enregistré. Les gestionnaires ont également une propriété $ bubble qui définit s'ils bloquent le document ou non ou alors s'ils le manipulent. Dans cet exemple, fixer l'argument $ bubble de MailHandler comme faux signifie que les enregistrements gérés par MailHandler ne sont plus propagés au StreamHandler.

* Vous pouvez créer de nombreux enregistreurs, chacun définissant un canal (par exemple: db, demande, routeur, ...) et chacun d'entre eux combinant divers gestionnaires, qui peuvent être partagés ou non. Le canal est renvoyé dans les enregistrements et vous permet de voir ou de filtrer facilement les enregistrements.

* Chaque gestionnaire dispose également d'un formateur, d’une composante par défaut avec des paramètres qui seront, bien-sûr, créés si vous ne le configurez pas. Les formateurs normalisent et formatent les enregistrements entrants afin qu'ils puissent être utilisés par les gestionnaires pour produire des informations utiles.

* Les niveaux de rigueur de personnalisation ne sont pas disponibles. Seuls les huit niveaux RFC 5424 (débogage, informations, avis, avertissement, erreur, critique, alerte, urgence) sont présents à des fins de filtrage de base, mais pour le tri et les autres cas d'utilisation nécessitant une flexibilité, vous devez ajouter des processeurs aux enregistreurs qui peuvent ajouter des informations supplémentaires (les tags, l’ip de l’utilisateur, ...) aux enregistrements avant qu'ils ne soient traités.

Niveaux d’enregistrement

Monolog supporte les niveaux d’enregistrement décrits par RFC 5424.

* DEBUG (100): informations de débogage détaillées.
* INFO (200): événements intéressants. Exemples: l'utilisateur se connecte, les enregistrements SQL.
* AVIS (250): événements normaux mais significatifs.
* AVERTISSEMENT (300): occurrences exceptionnelles qui ne sont pas des erreurs. Exemples: utilisation d'API obsolètes, mauvaise utilisation d'une API, éléments indésirables qui ne sont pas forcément faux.
* ERREUR (400): Erreurs d'exécution qui ne nécessitent pas d'action immédiate, mais devraient généralement être enregistrées et surveillées.
* CRITIQUE (500): conditions critiques. Exemple: composant d'application indisponible, exception inattendue.
* ALERT (550): les mesures doivent être prises immédiatement. Exemple: site Web complètement endommagé, base de données indisponible, etc. Cela devrait déclencher les alertes SMS et attirer votre attention.
* URGENCE (600): Urgence: le système est inutilisable.