Programmieren für Ingenieure

Logging mit Python

In dieser Lektion wirst du das logging Modul von Python kennenlernen.

Während der Entwicklung wirst du meistens noch genau wissen wie sich dein Programm verhält, sobald es aber einmal im Einsatz ist wirst du es nicht mehr so genau beaufsichtigen können (und wollen).
Um zum Beispiel nach einem Fehler zu einem Späteren Zeitpunkt noch nachvollziehen zu können was während der Ausführung deines Programmes passiert und schief gegangen ist, ist es sehr nützlich wenn du logging nutzt.
Das logging Modul von Python ermöglicht es dir während der Ausführung deines Programmes bestimmte Nachrichten in einer .log Textdatei zu speichern.

Es gehört zu den Standard Modulen, sodass du es nicht erst installieren musst, sondern direkt am Anfang deines Programmes importieren kannst.
Anschließend kannst du mit der .basicConfig() Funktion grundlegende Einstellungen des Moduls vornehmen.

import logging

logging.basicConfig(filename=“LogFileName.log“, level=logging.getLevelName(settings.find(„LoggingLevel“).text), format=“%(asctime)s; %(levelname)s; %(message)s“)

Mit dem „filename“ Parameter kannst du den Namen deiner logging Datei festlegen.

Der „level“ Parameter gibt das Level an ab welchem die Einträge gespeichert werden.
Das geringste Level ist dabei logging.DEBUG, welches du nutzen kannst um sehr viele Details aufzuzeichnen die dir bei der Fehlersuche während der Entwicklung seines Programmes helfen.
logging.INFO ist das nächst höhere Level, mit dem du interessante Informationen speichern kannst.
Mögliche Probleme kannst du im logging.WARNING Level mitschreiben.
Wenn es zu Fehlern in der Programmausführung kommt kannst du das logging.ERROR, und bei kritischen Fehlern die zu Programmabstürzen führen würden, das logging.CRITICAL Level nutzen.
In diesem Fall werden also alle Meldungen mit Level INFO oder höher abgespeichert.

Mit dem „format“ Parameter kannst du ein bestimmtest Format für alle logging Einträge vorgeben.
Alle Formatierungsoptionen, die dir zur Verfügung stehen, findest du im „LogRecord attributes“ Abschnitt auf:
https://docs.python.org/3/library/logging.html

Um einen Eintrag zu speichern kannst du die folgenden Funktionen nutzen:

logging.debug(„Debug logging …“)
logging.info(„Prozessdaten Auswetung gestartet.“)
logging.warning(„Warnung logging …“)
logging.error(„Error logging ….“)
logging.critical(„Kritisches logging …“)


Falls du Probleme oder Fragen mit dem logging Modul hast, dann lass es mich bitte wissen.
Wenn du es geschafft hast mit dem logging Modul dein erstes Logfile zu erstellen und einige Einträge darin zu speichern, wird dir die Anwendung dieses Wissens in Zukunft hoffentlich viel Zeit und Nerven bei der Fehlersuche sparen.
Vielen Dank fürs zuschauen und bis gleich in der nächsten Lektion =)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert