Ich bin neu in Pythons Protokollierungspaket und plane, es für mein Projekt zu verwenden. Ich möchte das Zeitformat nach meinem Geschmack anpassen. Hier ist ein kurzer Code, den ich aus einem Tutorial kopiert habe:
import logging
# create logger
logger = logging.getLogger("logging_tryout2")
logger.setLevel(logging.DEBUG)
# create console handler and set level to debug
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
# create formatter
formatter = logging.Formatter("%(asctime)s;%(levelname)s;%(message)s")
# add formatter to ch
ch.setFormatter(formatter)
# add ch to logger
logger.addHandler(ch)
# "application" code
logger.debug("debug message")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
logger.critical("critical message")
Und hier ist die Ausgabe:
2010-07-10 10:46:28,811;DEBUG;debug message
2010-07-10 10:46:28,812;INFO;info message
2010-07-10 10:46:28,812;WARNING;warn message
2010-07-10 10:46:28,812;ERROR;error message
2010-07-10 10:46:28,813;CRITICAL;critical message
Ich möchte das Zeitformat auf nur ' 2010-07-10 10:46:28
' verkürzen und das Mili-Sekunden-Suffix löschen. Ich schaute auf die Formatter.formatTime, war aber verwirrt. Ich schätze Ihre Hilfe, um mein Ziel zu erreichen. Danke dir.
python
datetime
logging
formatting
Hai Vu
quelle
quelle
'formatters': { 'default': { 'format': '%(asctime)s | %(levelname)s | %(module)s | %(message)s', 'datefmt': '%Y-%m-%d %H:%M', },
Unter Verwendung
logging.basicConfig
arbeitet das folgende Beispiel für mich:Auf diese Weise können Sie alles in einer Zeile formatieren und konfigurieren. Ein resultierender Protokolldatensatz sieht wie folgt aus:
quelle
Wenn Sie logging.config.fileConfig mit einer Konfigurationsdatei verwenden, verwenden Sie Folgendes:
quelle
Um die anderen Antworten zu ergänzen, finden Sie hier die Variablenliste aus der Python-Dokumentation.
quelle