Logging mit Monolog
Logging ist notwendig
Dienste wie Mail, Datenbank und auch das Betriebssystem, ermöglichen umfangreiches Logging, wohingegen Individualanwendungen häufig von der Protokollierung unzureichend Gebrauch machen. Dies hat zur Folge, dass die meisten Angriffe auf Anwendungen unbemerkt bleiben, da wenige Systeme die Möglichkeit haben, diese zu bemerken.
Wichtige Ereignisse einer Anwendung sollten deshalb protokolliert werden. Hierbei kann es sich um Informationen über bestimmte Transaktionen, Warnungen über unvorhergesehene Ereignisse oder fatale Fehler handeln.
Diese Meldungen sind wichtig,
um den Zustand eines Systems einschätzen,
Fehler nachvollziehen und
forensische Analysen durchführen zu können.
Auf Basis von Logdaten kann ebenso eine Eindringlingserkennung durchgeführt werden.
Wichtig ist, nicht zu viel und nicht zu wenig zu protokollieren. Ebenso müssen Datenschutzanforderungen für gespeicherte Informationen beachtet werden.
Logging in brandbox
use brandbox\component\log;
log\log::get()
->critical('Kritisches Ereignis.')
;
Ereignisse unterscheiden
Nachfolgende Ereignisse sollen unterschieden werden:
Emergency
, wenn die Anwendung oder Subsysteme den Dienst versagenAlert
, für Benachrichtigungen, beispielsweise per E-Mail, in Situationen, die sofortige Handlung erfordernCritical
, für kritische Ereignisse, beispielsweise bei unerwarteten FehlernError
, für Laufzeitfehler, die keine sofortige Handlung erfordern, jedoch notwendigerweise protokolliert und überwacht werden müssenWarning
, bei außergewöhnlichen Ereignissen, die keine Fehler darstellenNotice
, für reguläre, jedoch bedeutsame EreignisseInfo
, für interessante EreignisseDebug
, für Debug-lnformationen
Die Konfiguration des Log-Level erfolgt in der config.php
Weitere Hinweise finden Sie hier.