Logging#

Das logging-Modul ist Teil der Python-Standardbibliothek. Es ist beschrieben in PEP 0282. Eine erste Einführung in das Modul erhaltet ihr in Basic Logging Tutorial.

Logging erfüllt üblicherweise zwei verschiedene Zwecke:

  • Diagnose:

    • Ihr könnt euch den Kontext von bestimmten Ereignissen anzeigen lassen.

    • Tools wie Sentry gruppieren zusammengehörende Ereignisse und erleichtern die Benutzeridentifikation etc., sodass Entwickler die Fehlerursache schneller finden können.

  • Monitoring:

    • Das Logging zeichnet Ereignisse für benutzerdefinierten Heuristiken auf, z.B. für Geschäftsanalysen. Diese Aufzeichnungen können für Berichte oder Optimierungen der Geschäftsziele verwendet und ggf. visualisiert werden.

Welche Vorteile bietet logging nun gegenüber print?

  • Die Logdatei enthält alle verfügbaren Diagnoseinformationen wie Dateiname, Pfad, Funktion und Zeilennummer

  • Alle Ereignisse sind über den Root-Logger automatisch verfügbar, sofern sie nicht explizit herausgefiltert werden.

  • Logging kann wahlweise durch eine der folgenden beiden Methoden stummgeschaltet werden: logging.Logger.setLevel() oder logging.disabled.

Siehe auch

  • loguru macht das Protokollieren fast so einfach wie die Verwendung von print-Anweisungen.

  • structlog fügt euren Log-Einträgen Struktur hinzu.