Schreiben von Protokollen in eine Datei in Python

Muhammad Maisam Abbas 10 Oktober 2023
  1. Logs in eine Datei schreiben mit dem logging-Modul in Python
  2. Protokolle in eine Datei schreiben mit der Funktion logging.FileHandler() in Python
Schreiben von Protokollen in eine Datei 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.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

Verwandter Artikel - Python Logging