Monolog est une bibliothèque de journalisation relativement complète et facilement extensible sous PHP. Actuellement, de nombreux frameworks PHP bien connus, notamment Symfony, Laravel, CakePHP, etc., intègrent Monolog. Monolog peut envoyer vos journaux vers des fichiers, des sockets, des boîtes de réception, des bases de données et divers services Web.
Monolog suit la spécification de l'interface PSR3 et peut être facilement remplacé par d'autres bibliothèques de journalisation qui suivent la même spécification. Monolog a une bonne évolutivité. Grâce aux interfaces Handler, Formatter et Processor, la bibliothèque de classes Monolog peut être étendue et personnalisée de différentes manières.
Utilisation de base
<?php use Monolog\Logger; use Monolog\Handler\StreamHandler; // 创建日志频道 $log = new Logger('name'); $log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING)); // 添加日志记录 $log->addWarning('Foo'); $log->addError('Bar');
Concepts de base
Chaque instance de Logger contient un nom de canal (canal) et une pile de gestionnaires. Lorsque vous ajoutez un enregistrement, celui-ci est traité via la pile de gestionnaires. Chaque gestionnaire peut également décider de transmettre ou non l'enregistrement au gestionnaire suivant dans la pile suivante.
Grâce aux gestionnaires, nous pouvons implémenter certaines opérations de journalisation complexes. Par exemple, si nous plaçons StreamHandler au bas de la pile, tous les enregistrements du journal seront finalement écrits dans le fichier du disque dur. Dans le même temps, nous plaçons MailHandler en haut de la pile et envoyons le journal des erreurs par e-mail en définissant le niveau de journalisation. Il existe un attribut $bubble dans Handler. Cet attribut définit si le gestionnaire intercepte les enregistrements et les empêche de passer au gestionnaire suivant. Ainsi, si nous définissons le paramètre $bubble de MailHandler sur false, lorsqu'un journal d'erreurs se produit, le journal sera envoyé via MailHandler au lieu d'être écrit sur le disque dur via StreamHandler.
Plusieurs enregistreurs peuvent être créés, et chacun peut définir son propre nom de canal et sa propre pile de gestionnaires. Les gestionnaires peuvent être partagés entre plusieurs enregistreurs. Le nom du canal sera reflété dans le journal, ce qui nous permettra de visualiser et de filtrer plus facilement les enregistrements du journal.
Si le format du journal (Formatter) n'est pas spécifié, Handler utilisera le Formatter par défaut.
Les niveaux de journalisation ne peuvent pas être personnalisés. Actuellement, les huit niveaux définis dans la RFC 5424 sont utilisés : débogage, information, notification, avertissement, erreur, critique, alerte et urgence. Si vous avez d'autres besoins en matière d'enregistrements de journaux, vous pouvez ajouter du contenu aux enregistrements de journaux via Processo.
Niveau de journalisation
DEBUG (100) : informations de débogage détaillées.
INFO (200) : Événements marquants.
AVIS (250) : Événements ordinaires mais importants.
AVERTISSEMENT (300) : une exception sans erreur s'est produite.
ERROR (400) : erreur d'exécution, mais ne doit pas être traitée immédiatement.
CRITICA (500) : Erreur critique.
URGENCE (600) : Le système est indisponible.
Toutes les ressources de ce site proviennent d'internautes ou sont réimprimées par les principaux sites de téléchargement. Veuillez vérifier vous-même l'intégrité du logiciel ! Toutes les ressources de ce site sont uniquement à titre de référence d'apprentissage. Merci de ne pas les utiliser à des fins commerciales. Sinon, vous serez responsable de toutes les conséquences ! En cas d'infraction, veuillez nous contacter pour la supprimer. Coordonnées : admin@php.cn
Article connexe
16Jan2025
Vous en avez assez de jongler avec plusieurs bibliothèques de journalisation sur plusieurs projets ? Frustré par les erreurs incohérentes et la journalisation des métadonnées ? LogLayer, une solution open source, rationalise votre processus de journalisation et améliore l'expérience des développeurs. Qu'est-ce que LogLayer ? Couche de journaux
05Jan2025
Recommandations de la bibliothèque PHP ORMEn ce qui concerne le mappage objet-relationnel (ORM) pour PHP, plusieurs bibliothèques se démarquent. Pour aborder...
15Jan2025
HeroQR : Votre bibliothèque de génération de code QR PHP de rêve Êtes-vous toujours inquiet de la génération de code QR en PHP ? N'hésitez plus ! « Je suis heureux de vous présenter HeroQR, une bibliothèque PHP open source avancée conçue pour rendre la génération de codes QR facile, puissante et flexible. Pourquoi choisir HeroQR ? HeroQR se distingue par sa personnalisation et sa facilité d'utilisation. Que vous soyez un débutant à la recherche d'une solution simple de code QR ou un développeur expérimenté ayant besoin de fonctionnalités avancées, HeroQR a ce dont vous avez besoin. Principales fonctionnalités de HeroQR HeroQR est conçu pour fournir aux développeurs des outils puissants pour créer et personnaliser des codes QR. Voici un bref aperçu de ses fonctionnalités remarquables : Personnalisation inégalée avec des ajouts redimensionnables
03Jan2025
Overflow : Hidden and Expansion of HeightjQuery se distingue des autres bibliothèques JavaScript par sa compatibilité multiplateforme et...
28Dec2024
PHP, cURL et HTTP POSTCette question cherche à obtenir des conseils sur l'exécution d'une requête HTTP POST à l'aide de la bibliothèque cURL de PHP. Concrètement, l'objectif est de...
26Dec2024
PDO vs MySQLi : une comparaison complèteLe débat entre l'utilisation de MySQLi et PDO pour les interactions avec les bases de données divise les développeurs depuis des années....
Hot Tools
Bibliothèque PHP pour les conteneurs d'injection de dépendances
Bibliothèque PHP pour les conteneurs d'injection de dépendances
Une collection de 50 excellents algorithmes PHP classiques
Algorithme PHP classique, apprenez d'excellentes idées et élargissez votre réflexion
Petite bibliothèque PHP pour optimiser les images
Petite bibliothèque PHP pour optimiser les images