Schreiben von Protokollen in eine Datei in Python
-
Logs in eine Datei schreiben mit dem
logging
-Modul in Python -
Protokolle in eine Datei schreiben mit der Funktion
logging.FileHandler()
in Python
In diesem Tutorial werden die Methoden zum Schreiben von Protokollen in eine Datei in Python vorgestellt.
Logs in eine Datei schreiben mit dem logging
-Modul in Python
Die Protokolle werden verwendet, um ein Programm zu debuggen und herauszufinden, was schief gelaufen ist. Das logging
-Modul wird verwendet, um in Python Daten in eine Datei zu protokollieren. Mit der Funktion logging.basicConfig()
können wir die Logs so konfigurieren, dass sie in eine bestimmte Datei geschrieben werden. Standardmäßig können wir mit dem Modul logging
5 Arten von Leitungen protokollieren. Zu diesen Nachrichtentypen gehören Debug, Info, Warnung, Fehler und Kritisch. Dennoch können wir diese Zahl durch Codierung auf das erforderliche Maß erhöhen. Das folgende Codebeispiel zeigt uns, wie man mit der Funktion logging.basicConfig()
Logs in eine Datei schreibt.
import logging
# Creating and Configuring Logger
Log_Format = "%(levelname)s %(asctime)s - %(message)s"
logging.basicConfig(
filename="logfile.log", filemode="w", format=Log_Format, level=logging.ERROR
)
logger = logging.getLogger()
# Testing our Logger
logger.error("Our First Log Message")
Der Dateiinhalt von logfile.log
:
ERROR 2021-06-13 04:14:29,604 - Our First Log Message
Wir haben die Log-Meldung Our First Log Message
der Stufe error
mit dem richtigen Datum und der richtigen Uhrzeit der Protokollierung geschrieben, indem wir die Funktion logging.basicConfig()
im obigen Code verwendet haben. Das Wichtigste beim Schreiben der Protokolle ist das Datum und die Uhrzeit ihres Auftretens. Also haben wir zuerst ein Format für unsere Logs innerhalb des Strings Log_Format
erstellt. Dieses Format enthält die Protokollebene, das Datum und die Uhrzeit des Auftretens und die zu schreibende Nachricht.
Anschließend verwenden wir den Parameter filename
der Funktion logging.basicConfig()
, um die Log-Datei anzugeben. Wir haben dem Parameter filemode
der Funktion logging.basicConfig()
den Wert a
zugewiesen, um die Datei im append
-Modus zu öffnen, damit die vorherigen Logs nicht bei jedem neuen Log gelöscht werden. Anschließend setzen wir den Parameter format
auf Log_Format
. Nach diesem Schritt haben wir dem Parameter level
den logging.ERROR
zugewiesen, um den minimalen Level der fehlerbehafteten Protokolle anzugeben. Wir haben mit logger = logging.getLogger()
ein Logger-Objekt erstellt, um Log-Meldungen zu schreiben. Am Ende haben wir die Fehlermeldung mit logger.error("Our First Log Message")
geschrieben.
Protokolle in eine Datei schreiben mit der Funktion logging.FileHandler()
in Python
Wir können auch die logging.FileHandler()
-Funktion verwenden, um Logs in eine Datei in Python zu schreiben. Diese Funktion verwendet den Dateipfad, in den wir unsere Protokolle schreiben möchten. Wir können dann die Funktion addHandler()
verwenden, um diesen Handler zu unserem Logger-Objekt hinzuzufügen. Der folgende Code zeigt, wie man mit der Funktion logging.FileHandler()
Logs in eine Datei schreibt.
import logging
logger = logging.getLogger()
handler = logging.FileHandler("logfile.log")
logger.addHandler(handler)
logger.error("Our First Log Message")
logfile.log Inhalt:
Our First Log Message
Die Log-Meldung Our First Log Message
haben wir mit der Funktion logging.FileHandler()
im obigen Code in die Datei logfile.log
geschrieben. Wir haben zuerst ein Logger-Objekt erstellt, mit dem wir mit der Funktion logging.getLogger()
Logs schreiben. Dann erstellen wir einen Dateihandler handler
und weisen ihm logging.FileHandler('logfile.log')
zu. Danach haben wir diesen neuen handler
mit logger.addHandler(handler)
zu unserem Logger-Objekt hinzugefügt. Am Ende haben wir die Fehlermeldung mit logger.error('Our First Log Message')
in unsere Datei geschrieben.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn