Maison Bibliothèques PHP Autres bibliothèques bibliothèque PHP de journalisation de monologues
bibliothèque PHP de journalisation de monologues

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.


Clause de non-responsabilité

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

LogLayer : une bibliothèque de journalisation moderne pour TypeScript / JavaScript LogLayer : une bibliothèque de journalisation moderne pour TypeScript / JavaScript

16 Jan 2025

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

Explication détaillée de la bibliothèque de fonctions PHP PDO Explication détaillée de la bibliothèque de fonctions PHP PDO

06 Jan 2017

PDO est une « couche d'abstraction d'accès à la base de données » qui unifie les interfaces d'accès de diverses bases de données. Comparé aux bibliothèques de fonctions de mysql et mysqli, PDO rend l'utilisation entre bases de données plus conviviale que ADODB et MDB2.

PhpMailer vs SwiftMailer : quelle bibliothèque PHP est la meilleure pour vos besoins de messagerie ? PhpMailer vs SwiftMailer : quelle bibliothèque PHP est la meilleure pour vos besoins de messagerie ?

18 Oct 2024

PhpMailer vs SwiftMailer : comparaison des bibliothèques de messagerie Lors de la création d'un script PHP nécessitant une fonctionnalité de messagerie, les développeurs sont souvent confrontés au choix entre les bibliothèques PhpMailer et SwiftMailer. Prendre cette décision peut être crucial pour trouver le meilleur

Quelle bibliothèque PHP ORM est la meilleure pour extraire les fournisseurs de bases de données et cartographier les modèles de domaine/relationnels ? Quelle bibliothèque PHP ORM est la meilleure pour extraire les fournisseurs de bases de données et cartographier les modèles de domaine/relationnels ?

05 Jan 2025

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...

Memcache vs Memcached : quelle bibliothèque de mise en cache PHP devriez-vous choisir ? Memcache vs Memcached : quelle bibliothèque de mise en cache PHP devriez-vous choisir ?

12 Nov 2024

Memcache vs Memcached : choisir la bonne bibliothèque PHP pour vos besoins de cacheDans le domaine des bibliothèques de mise en cache PHP, Memcache et Memcached se démarquent...

PhpMailer vs SwiftMailer : quelle bibliothèque de messagerie PHP règne en maître ? PhpMailer vs SwiftMailer : quelle bibliothèque de messagerie PHP règne en maître ?

18 Oct 2024

Livraison d'e-mails en PHP : PhpMailer contre SwiftMailerFace à la tâche d'envoyer des e-mails en PHP, deux bibliothèques populaires émergent : PhpMailer et SwiftMailer. Choisir le bon outil pour le travail peut être crucial, mais lequel offre un net avantage ?Php

See all articles