Monolog-Anbindung für PHP

Monolog-Anbindung für PHP

Symfony wird von einer externen Bibliothek mit dem Namen Monolog begleitet, mit der Sie die Aufzeichnung von Aktivitäten erstellen können, die an verschiedenen Standorten gespeichert werden.

Grundbegriffe der Monolog

* Jede Record-Instanz hat einen Kanal (Name) und einen Stapel von Handlern. Jedes Mal, wenn Sie dem Recorder einen Datensatz hinzufügen, durchläuft er den Manager-Stack. Jeder Manager entscheidet, ob er die Aufzeichnung vollständig verwalten wird, und wenn ja, endet die Ausbreitung der Aufzeichnung dort.

* Dies ermöglicht flexible Recording-Konfigurationen, beispielsweise hat es eine StreamHandler am unteren Rand des Stapels, die alles auf dem Datenträger aufzeichnen wird, und ein mailhandler, der nur e-Mails sendet, wenn eine Fehlermeldung protokolliert wird. Manager haben auch eine $ Bubble-Eigenschaft, die definiert, ob Sie das Dokument blockieren oder nicht oder wenn Sie es manipulieren. In diesem Beispiel bedeutet das Festlegen des $ Bubble-Arguments von mailhandler als false, dass von mailhandler verwaltete Datensätze nicht mehr an die StreamHandler weitergegeben werden.

* Sie können viele Recorder erstellen, jedes definieren einen Kanal (z. b.: DB, Request, Router, ...) und jeder von Ihnen kombiniert verschiedene Manager, die geteilt werden können oder nicht. Der Kanal wird in den Datensätzen zurückgegeben und ermöglicht es Ihnen, die Datensätze leicht zu sehen oder zu filtern.

* Jeder Manager hat auch einen Trainer, eine Standard-Komponente mit Parametern, die natürlich erstellt werden, wenn Sie es nicht konfigurieren. Trainer standardisieren und formatieren eingehende Datensätze, sodass Sie von Managern verwendet werden können, um nützliche Informationen zu erstellen.

* Der Schweregrad der Personalisierung ist nicht verfügbar. Nur die acht Stufen RFC 5424 (Debugging, Information, Benachrichtigung, Warnung, Fehler, kritisch, Alarm, Notfall) sind für grundlegende Filterung, aber für die Sortierung und andere Anwendungsfälle, die Flexibilität erfordern, müssen Sie hinzufügen Prozessoren für Recorder, die zusätzliche Informationen (Tags, Benutzer-IP, ...) zu Datensätzen hinzufügen können, bevor Sie verarbeitet werden.

Aufnahme-Levels

Monolog unterstützt die in RFC 5424 beschriebenen Aufnahme-Levels.

* Debug (100): detaillierte Debug-Informationen.
* Info (200): interessante Veranstaltungen. Beispiele: der Benutzer verbindet die SQL-Datensätze.
* Hinweis (250): normale, aber bedeutende Ereignisse.
* Warning (300): außergewöhnliche Vorkommnisse, die keine Fehler sind. Beispiele: Verwendung veralteter APIs, Missbrauch einer API, unerwünschte Elemente, die nicht notwendigerweise falsch sind.
* Fehler (400): Fehler bei der Ausführung, die keine sofortige Aktion erfordern, sollten jedoch generell aufgezeichnet und überwacht werden.
* Kritisch (500): Kritische Bedingungen. Beispiel: nicht verfügbare Anwendungskomponente, unerwartete Ausnahme.
* Alert (550): die Messungen sind unverzüglich zu treffen. Beispiel: Website vollständig beschädigt, Datenbank nicht verfügbar, etc. Dies sollte SMS-Alarm auslösen und ihre Aufmerksamkeit lenken.
* Notfall (600): Notfall: das System ist unbrauchbar.