Ich verwende das Python-Logging-Modul, um einige Debug-Strings in eine Datei zu protokollieren, was ziemlich gut funktioniert. Jetzt möchte ich zusätzlich dieses Modul verwenden, um die Strings auch auf stdout auszugeben. Wie mache ich das? Um meine Strings in eine Datei zu protokollieren, verwende ich folgenden Code:
import logging
import logging.handlers
logger = logging.getLogger("")
logger.setLevel(logging.DEBUG)
handler = logging.handlers.RotatingFileHandler(
LOGFILE, maxBytes=(1048576*5), backupCount=7
)
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
und dann rufe eine Logger-Funktion wie
logger.debug("Ich werde in die Datei geschrieben")
Vielen Dank für die Hilfe!
0 Stimmen
Neugierig, wenn Sie den Level auf
DEBUG
ändern, wird es immer noch auf stdout UND in die Datei protokolliert? Ich glaube, es passiert nur, wenn es aufINFO
eingestellt ist. Bitte korrigieren Sie mich, wenn ich falsch liege.1 Stimmen
Bezogen: stackoverflow.com/q/14058453