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 die Fehlerursache schneller gefunden werden kann.

  • 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.

Bemerkung

Auch bei agentischer Software-Entwicklung nutzen wir Logging um uns einen detaillierteren Einblick un Fehler zu geben:

AGENTS.md
# Logging
- Use logging to provide insight into failures. Don’t use print for debugging. Don’t use logging to hide stack traces if you are going to fail anyway.
- Don't hide exceptions. Let them propagate up to the caller. If you need to catch an exception, log it and re-raise it.

Siehe auch

Siehe auch

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

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