Konfigurieren der Protokollausgaben (Logging Outputs)
Neben der Festlegung der Protokollierungsebenen (Logging Levels) ermöglicht das logging
-Modul in Python die Konfiguration der Ausgabeziele für Ihre Protokollmeldungen. Standardmäßig werden Protokollmeldungen an die Konsole (d. h. sys.stderr
) gesendet, aber Sie können sie auch an andere Ziele umleiten, wie z. B. Dateien, Netzwerksockets oder sogar benutzerdefinierte Handler.
Hier ist ein Beispiel, wie Sie die Protokollierung so konfigurieren, dass Meldungen in eine Datei geschrieben werden:
import logging
## Configure logging to write to a file
logging.basicConfig(filename='app.log', level=logging.INFO)
## Log messages at different levels
logging.debug("This is a debug message.")
logging.info("This is an informational message.")
logging.warning("This is a warning message.")
logging.error("This is an error message.")
logging.critical("This is a critical message.")
In diesem Beispiel wird die logging.basicConfig()
-Funktion verwendet, um die Ausgabedatei (filename='app.log'
) und die Protokollierungsebene (level=logging.INFO
) anzugeben. Alle Protokollmeldungen mit einer Schweregradstufe von INFO
oder höher werden in die Datei app.log
geschrieben.
Sie können auch mehrere Handler konfigurieren, um Protokollmeldungen gleichzeitig an verschiedene Ziele zu senden. Beispielsweise möchten Sie möglicherweise kritische Meldungen in eine Datei senden, während Sie informative und Warnmeldungen auf der Konsole anzeigen. Hier ist ein Beispiel:
import logging
## Configure logging to write to a file and the console
file_handler = logging.FileHandler('app.log')
console_handler = logging.StreamHandler()
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s %(levelname)s: %(message)s',
handlers=[file_handler, console_handler]
)
## Log messages at different levels
logging.debug("This is a debug message.")
logging.info("This is an informational message.")
logging.warning("This is a warning message.")
logging.error("This is an error message.")
logging.critical("This is a critical message.")
In diesem Beispiel werden zwei Handler erstellt: file_handler
, um Protokolle in eine Datei zu schreiben, und console_handler
, um Protokolle auf der Konsole anzuzeigen. Die logging.basicConfig()
-Funktion wird dann verwendet, um das Protokollierungssystem so zu konfigurieren, dass beide Handler verwendet werden, wobei das Protokollformat und die Ebene angegeben werden.
Durch die Anpassung der Protokollausgaben können Sie sicherstellen, dass die Protokollierungsinformationen Ihrer Anwendung an die am besten geeigneten Ziele geleitet werden, was es einfacher macht, das Verhalten Ihrer Anwendung zu überwachen, zu analysieren und zu debuggen.