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
11 May 2023
Dans le développement du langage Go, la journalisation est un lien très important. Grâce au journal, des informations importantes telles que l'état d'exécution du programme, les messages d'erreur et les goulots d'étranglement des performances peuvent être enregistrées. Il existe de nombreuses bibliothèques de journalisation parmi lesquelles choisir dans le langage Go, telles que la bibliothèque de connexion standard, les bibliothèques tierces logrus, zap, etc. Cet article explique comment utiliser la bibliothèque de journalisation dans Go. 1. Connectez-vous à la bibliothèque standard Go Le package de journaux de la bibliothèque standard Go fournit une méthode de journalisation simple qui peut être générée vers la sortie standard, un fichier ou d'autres instances io.Writer. enregistrer
22 Apr 2024
Les bibliothèques de fonctions et les bibliothèques tierces en PHP peuvent étendre les fonctionnalités des applications. La bibliothèque de fonctions fournit des fonctions prédéfinies qui peuvent être incluses via l'instruction include. Des bibliothèques tierces sont disponibles à partir de sources telles que Packagist, GitHub et installées à l'aide de Composer. Implémentez le chargement automatique des classes via un chargeur automatique, tel que le chargement automatique de la bibliothèque Guzzle. Apprenez à utiliser la bibliothèque tierce Dompdf pour générer des fichiers PDF à travers des cas pratiques, notamment le chargement de la bibliothèque, le chargement de contenu HTML et la sortie de fichiers PDF. L'intégration de bibliothèques de fonctions et de bibliothèques tierces étend considérablement les fonctionnalités des applications PHP et améliore l'efficacité du développement et les performances des projets.
16 Jan 2024
Analyse complète de la bibliothèque de journaux Golang : vous aider à choisir l'outil de journalisation le plus adapté dans le processus de développement du langage Go, la journalisation est une fonction essentielle. Une journalisation appropriée peut nous aider à détecter rapidement et précisément les problèmes et à analyser le comportement du système. Choisir une bibliothèque de journaux qui vous convient peut améliorer l'efficacité du développement et réduire la difficulté du code. Cet article présentera plusieurs bibliothèques de journaux Golang couramment utilisées pour comparer et analyser différents scénarios d'application. bibliothèque de journaux La bibliothèque de journaux est une bibliothèque de journalisation intégrée au langage Go.
27 Jun 2023
En tant que langage de script côté serveur largement utilisé, PHP fournit de nombreuses bibliothèques de fonctions mathématiques, de chaînes, de tableaux, de fichiers et autres pour permettre aux développeurs d'implémenter diverses fonctions. Parmi elles, la fonction array_unique() joue un rôle important dans la déduplication des tableaux. Cet article présentera en détail l'utilisation et les précautions de cette fonction. Fonction La fonction array_unique() est utilisée pour supprimer les éléments en double d'un tableau et renvoyer un nouveau tableau qui ne contient pas d'éléments en double. Syntaxe de la fonction array_unique(array
15 Jun 2023
PHP est un langage de programmation back-end très populaire dans le développement de sites Web modernes. Au fil du temps, de plus en plus de bibliothèques de fonctions PHP ont été développées, permettant aux développeurs d'écrire des programmes plus rapidement et d'améliorer la réutilisabilité du code. Dans cet article, nous partagerons quelques cas pratiques de bibliothèques de fonctions PHP pour aider les développeurs à mieux utiliser ces bibliothèques de fonctions afin d'améliorer leur efficacité de développement. Alibaba Cloud OSSSDK Le service de stockage d'objets (OSS) d'Alibaba Cloud est un service de stockage cloud hautement disponible et hautement évolutif. Les développeurs peuvent
11 Apr 2024
Les bibliothèques de fonctions PHP sont organisées en fichiers indépendants selon différentes fonctions et utilisations, notamment les extensions principales (/ext/), les bibliothèques principales (/libs/), les bibliothèques de fonctions PEAR (/pear/) et les fonctions définies par l'utilisateur (/user/). . Avec cette organisation, les développeurs peuvent facilement réutiliser et étendre le code tout en conservant la modularité et la maintenabilité.
Outils chauds Tags
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