Présentation de la journalisation personnalisée
Les journaux offrent une visibilité sur les processus système, par exemple les informations de débogage qui vous aident à comprendre quand une erreur s’est produite ou ce qui a conduit à l’erreur.
Cette rubrique concerne la journalisation basée sur les fichiers, bien que Commerce offre la possibilité de stocker également les journaux dans la base de données.
Adobe recommande d’utiliser la journalisation centralisée des applications pour les raisons suivantes :
-
Il permet le stockage des journaux sur un serveur autre que le serveur d’applications et réduit les opérations d’E/S de disque, ce qui simplifie la prise en charge du serveur d’applications.
-
Cela rend le traitement des données de journaux plus efficace en utilisant des outils spéciaux, tels que Logstash, Logplex ou [fluent]—sans impact sur un serveur de production.
note info INFO Adobe ne recommande ni n’approuve aucune solution de journalisation particulière.
Conformité PSR-3
La norme PSR-3 définit une interface PHP commune pour les bibliothèques de journalisation. L’objectif principal de PSR-3 est de permettre aux bibliothèques de recevoir un objet Psr\Log\LoggerInterface
et d’y écrire des journaux d’une manière simple et universelle.
Cela permet à l’implémentation d’être facilement remplacée sans craindre qu’un tel remplacement puisse endommager le code de l’application. Il garantit également qu’un composant personnalisé fonctionnera même si l’implémentation du journal est modifiée dans une version ultérieure du système.
Monolog
Commerce 2 est conforme à la norme PSR-3. Par défaut, Commerce utilise Monolog. Monolog implémenté comme préférence pour Psr\Log\LoggerInterface
dans l'application Commerce di.xml
.
Monolog est une solution de journalisation PHP courante qui propose un large éventail de gestionnaires et vous permet de créer des stratégies de journalisation avancées. Voici un résumé du fonctionnement de Monolog.
Un monolog logger est un canal qui possède son propre jeu de gestionnaires. Monolog comporte de nombreux gestionnaires, notamment :
- Connexion aux fichiers et au fichier syslog
- Envoyer des alertes et des emails
- Journalisation de serveurs spécifiques et connexion en réseau
- Connexion au développement (intégration à FireBug et Chrome Logger, entre autres)
- Connexion à la base de données
Chaque gestionnaire peut soit traiter le message d’entrée et arrêter la propagation, soit transmettre le contrôle au gestionnaire suivant dans une chaîne.
Les messages du journal peuvent être traités de différentes manières. Par exemple, vous pouvez stocker toutes les informations de débogage dans un fichier sur le disque, placer les messages avec des niveaux de journal supérieurs dans une base de données et enfin envoyer les messages avec le niveau de journal "critique" par e-mail.
D’autres canaux peuvent avoir un ensemble différent de gestionnaires et de logiques.