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 versagen

  • Alert, für Benachrichtigungen, beispielsweise per E-Mail, in Situationen, die sofortige Handlung erfordern

  • Critical, für kritische Ereignisse, beispielsweise bei unerwarteten Fehlern 

  • Error, für Laufzeitfehler, die keine sofortige Handlung erfordern, jedoch notwendigerweise protokolliert und überwacht werden müssen

  • Warning, bei außergewöhnlichen Ereignissen, die keine Fehler darstellen

  • Notice, für reguläre, jedoch bedeutsame Ereignisse

  • Info, für interessante Ereignisse

  • Debug, für Debug-lnformationen

Die Konfiguration des Log-Level erfolgt in der config.php



Weitere Hinweise finden Sie hier.