ich möchte gerne mein Logging in separate Dateien aufteilen.
Warum? Weil ich mich bei einer großen Anwendung nicht erst durch ein einziges Logfiles greppen will.
Folgende Idee habe ich bereits angefangen:
Code: Alles auswählen
import logging
import os.path
def initialize_logger(output_dir):
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
# create error file handler and set level to error
handler = logging.FileHandler(os.path.join(output_dir, "error.log"), "a+", encoding=None, delay="true")
handler.setLevel(logging.ERROR)
formatter = logging.Formatter("%(levelname)s - %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
# create info file handler and set level to info
handler = logging.FileHandler(os.path.join(output_dir, "info.log"), "a+")
handler.setLevel(logging.INFO)
formatter = logging.Formatter("%(levelname)s - %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
initialize_logger("logs")
logging.error("Hallo Error")
logging.info("Hallo Info")
logging.info loggt in die info.log
logging.error loggt in die error.log
Resultat ist aber:
Code: Alles auswählen
==> error.log <==
ERROR - Hallo Error
==> info.log <==
ERROR - Hallo Error
INFO - Hallo Info
Ich hatte gehofft durch "handler.setLevel(logging.INFO)" würde das ausreichen?