sind auf einem Python App arbeiten, die Logger-FunktionenWarum ignoriert Python mein Formatierungsprogramm in der Konsole?
Hier implementiert ist mein Code, die Form der offiziellen site genommen wird:
import logging
#create logger
logger = logging.getLogger("simple_example")
logger.setLevel(logging.DEBUG)
#create console handler and set level to debug
fh = logging.RotatingFileHandler(MyFile, etc)
fh.setLevel(logging.DEBUG)
#create formatter
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s -
%(message)s")
#add formatter to fh
fh.setFormatter(formatter)
#add fh to logger
logger.addHandler(fh)
#"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 in der Datei: , die perfekt ist
2005-03-19 15:10:26,618 - simple_example - DEBUG - debug message
2005-03-19 15:10:26,620 - simple_example - INFO - info message
2005-03-19 15:10:26,695 - simple_example - WARNING - warn message
2005-03-19 15:10:26,697 - simple_example - ERROR - error message
2005-03-19 15:10:26,773 - simple_example - CRITICAL - critical message
aber hier ist die Ausgabe im Terminal:
DEBUG: debug message
INFO: info message
WARNING: warn message
ERROR: error message
CRITICAL: critical message
, die mich verrückt macht, da ich nicht den Zeitstempel in der Konsole zu sehen bekommen ...
Ich habe auch versucht, die Schaffung einen anderen Handler:
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
und die Zugabe zu Logger ...
aber die einzige Sache, die ich bekomme, ist, dass der Logger zweimal in der Konsole jede msg druckt ... eine vollkommene Ordnung und die falsche, wie ich am Anfang erklärte
'fh.setFormatter' nicht den Formatierer' logger', so wird festgelegt, was Das Thema? –
das ist das Problem, ich will, dass fh entweder in der Konsole mit dem Format, das ich eingestellt loggen oder überhaupt nicht in der Konsole, sondern nur in der Datei ... –
Scheint, Sie kopiert das erste Beispiel auf dieser Seite, nicht die * Mehrere Handler und Formatierer * eine, die Sie wahrscheinlich näher an das bringt, was Sie wollen –