Monolog ist eine relativ vollständige und leicht erweiterbare Protokollierungsbibliothek unter PHP. Derzeit verfügen viele bekannte PHP-Frameworks, darunter Symfony, Laravel, CakePHP usw., über integriertes Monolog. Monolog kann Ihre Protokolle an Dateien, Sockets, Posteingänge, Datenbanken und verschiedene Webdienste senden.
Monolog folgt der PSR3-Schnittstellenspezifikation und kann problemlos durch andere Protokollierungsbibliotheken ersetzt werden, die derselben Spezifikation folgen. Monolog verfügt über eine gute Skalierbarkeit. Durch die Schnittstellen Handler, Formatter und Processor kann die Monolog-Klassenbibliothek auf verschiedene Weise erweitert und angepasst werden.
Grundlegende Verwendung
<?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');
Kernkonzepte
Jede Logger-Instanz enthält einen Kanalnamen (Kanal) und einen Handler-Stack. Wenn Sie einen Datensatz hinzufügen, wird der Datensatz über den Handler-Stack verarbeitet. Jeder Handler kann auch entscheiden, ob er den Datensatz an den nächsten Handler im nächsten Stapel weitergibt.
Durch Handler können wir einige komplexe Protokollvorgänge implementieren. Wenn wir beispielsweise den StreamHandler am Ende des Stapels platzieren, werden alle Protokolldatensätze schließlich in die Festplattendatei geschrieben. Gleichzeitig platzieren wir den MailHandler oben im Stapel und versenden das Fehlerprotokoll per E-Mail, indem wir die Protokollebene festlegen. Es gibt ein $bubble-Attribut im Handler. Dieses Attribut definiert, ob der Handler Datensätze abfängt und verhindert, dass sie an den nächsten Handler weitergegeben werden. Wenn wir also den $bubble-Parameter von MailHandler auf false setzen, wird das Protokoll beim Auftreten eines Fehlerprotokolls über MailHandler gesendet, anstatt über StreamHandler auf die Festplatte geschrieben zu werden.
Es können mehrere Logger erstellt werden, und jeder kann seinen eigenen Kanalnamen und Handler-Stack definieren. Handler können von mehreren Loggern gemeinsam genutzt werden. Der Kanalname wird im Protokoll angezeigt, sodass wir Protokolldatensätze einfacher anzeigen und filtern können.
Wenn das Protokollformat (Formatter) nicht angegeben ist, verwendet Handler den Standardformatter.
Die Protokollebenen können nicht angepasst werden. Derzeit werden die acht in RFC 5424 definierten Ebenen verwendet: Debug, Info, Hinweis, Warnung, Fehler, Kritisch, Warnung und Notfall. Wenn Sie andere Protokolldatensätze benötigen, können Sie über Processo Inhalte zu den Protokolldatensätzen hinzufügen.
Protokollebene
DEBUG (100): Detaillierte Debug-Informationen.
INFO (200): Wichtige Ereignisse.
HINWEIS (250): Gewöhnliche, aber wichtige Ereignisse.
WARNUNG (300): Es ist eine Ausnahme aufgetreten, bei der es sich nicht um einen Fehler handelt.
ERROR (400): Laufzeitfehler, muss aber nicht sofort behoben werden.
CRITICA (500): Kritischer Fehler.
NOT (600): Das System ist nicht verfügbar.
Alle Ressourcen auf dieser Website werden von Internetnutzern bereitgestellt oder von großen Download-Sites nachgedruckt. Bitte überprüfen Sie selbst die Integrität der Software! Alle Ressourcen auf dieser Website dienen nur als Referenz zum Lernen. Bitte nutzen Sie diese nicht für kommerzielle Zwecke. Andernfalls sind Sie für alle Folgen verantwortlich! Wenn ein Verstoß vorliegt, kontaktieren Sie uns bitte, um ihn zu löschen. Kontaktinformationen: admin@php.cn
Verwandter Artikel
30 Sep 2016
Auf der Suche nach einem PHP/Python-Bibliotheksverwaltungsprogramm (ähnlich der Baidu-Bibliothek, die doc/pdf und andere Bibliotheken verwaltet) ~~ Es muss hauptsächlich über Suchfunktionen verfügen, insbesondere Funktionen zum Abrufen der Dateiklassifizierung/Datei-Tags, keine Online-Konvertierung erforderlich, online Stöbern!
09 Nov 2024
Unterscheidung zwischen „Memcache“ und „Memcached“ in PHPPHP bietet zwei Memcached-Bibliotheken: Memcache und Memcached. Das Verständnis ihrer Unterschiede hilft...
19 Nov 2024
Memcache vs. Memcached: Auswahl der richtigen PHP-Memcached-BibliothekEinführungPHP bietet zwei scheinbar ähnliche Memcached-Bibliotheken: Memcache und...
12 Nov 2024
Memcache vs. Memcached: Auswahl der richtigen PHP-Bibliothek für Ihre Cache-AnforderungenIm Bereich der PHP-Caching-Bibliotheken stechen Memcache und Memcached hervor ...
18 Nov 2024
PHP-Bibliotheken zur E-Mail-Adressvalidierung aufgedecktE-Mail-Adressvalidierung spielt eine entscheidende Rolle bei der Datenvalidierung, aber die Erstellung einer...
05 Jan 2025
Empfehlungen zur PHP-ORM-BibliothekWenn es um objektrelationales Mapping (ORM) für PHP geht, stechen mehrere Bibliotheken hervor. Zur Adressierung...
Hot Tools
PHP-Bibliothek für Abhängigkeitsinjektionscontainer
PHP-Bibliothek für Abhängigkeitsinjektionscontainer
Eine Sammlung von 50 hervorragenden klassischen PHP-Algorithmen
Klassischer PHP-Algorithmus, lernen Sie hervorragende Ideen und erweitern Sie Ihr Denken
Kleine PHP-Bibliothek zur Optimierung von Bildern
Kleine PHP-Bibliothek zur Optimierung von Bildern