【发布时间】:2022-11-01 14:16:33
【问题描述】:
当我在 file_handler 中将级别设置为 INFO 时。我正在将其他日志级别也打印到文件中。 如何将每个日志级别打印到不同的日志文件中。我不想在任何文件中出现重复的日志。有人可以帮忙吗?
import logging
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s : %(name)s :%(levelname)s :%(message)s')
formatter1 = logging.Formatter('%(levelname)s :%(message)s')
file_handler = logging.FileHandler('test_log.log')
file_handler.setLevel(logging.INFO)
file_handler.setFormatter(formatter)
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.WARNING)
stream_handler.setFormatter(formatter1)
logger.addHandler(file_handler)
logger.addHandler(stream_handler)
logger.error("this is error")
logger.debug("this is debug")
logger.info("this is info")
logger.critical("this is critical")
logger.warning("this is warning")
我尝试了这个,并将所有其他日志级别也放入日志文件
【问题讨论】:
-
你为什么要这样做?只需 grep 您的日志以获得您感兴趣的级别。
标签: python python-3.x logging