Python:
Schreiben auf Standardfehler
Wie geht das:
Verwendung von sys.stderr
Das in Python integrierte sys
-Modul ermöglicht ein explizites Schreiben auf stderr
. Dieser Ansatz ist unkompliziert für einfache Fehlermeldungen oder Diagnosen.
import sys
sys.stderr.write('Fehler: Etwas ist schiefgelaufen.\n')
Beispielausgabe (auf stderr):
Fehler: Etwas ist schiefgelaufen.
Verwendung der print
-Funktion
Die print
-Funktion von Python kann ihre Ausgabe umleiten auf stderr
, indem der file
-Parameter angegeben wird. Diese Methode ist nützlich, um die Benutzerfreundlichkeit von print
bei der Behandlung von Fehlermeldungen zu nutzen.
from sys import stderr
print('Fehler: Fehler im Modul.', file=stderr)
Beispielausgabe (auf stderr):
Fehler: Fehler im Modul.
Verwendung des logging
-Moduls
Für eine umfassendere Lösung kann das logging
-Modul von Python Nachrichten auf stderr
und vieles mehr lenken, wie das Schreiben in eine Datei oder das Anpassen des Nachrichtenformats. Diese Methode ist am besten für Anwendungen geeignet, die unterschiedliche Ebenen von Protokollierung, Nachrichtenformatierung oder Ziele erfordern.
import logging
logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(__name__)
logger.error('Fehler: Datenbankverbindung fehlgeschlagen.')
Beispielausgabe (auf stderr):
FEHLER:__main__:Fehler: Datenbankverbindung fehlgeschlagen.
Drittanbieter-Bibliotheken: loguru
loguru
ist eine beliebte Drittanbieter-Bibliothek, die das Protokollieren in Python-Anwendungen vereinfacht. Fehler werden automatisch auf stderr
geleitet, unter anderem.
Um loguru
zu verwenden, installieren Sie es zunächst über pip:
pip install loguru
Dann binden Sie es wie folgt in Ihr Python-Skript ein:
from loguru import logger
logger.error('Fehler: Datei konnte nicht geöffnet werden.')
Beispielausgabe (auf stderr):
2023-04-05 12:00:00.000 | FEHLER | __main__:<module>:6 - Fehler: Datei konnte nicht geöffnet werden.