首页 > 解决方案 > 显示信息上方的所有日志,但保存到调试上方的所有日志文件

问题描述

我想显示该级别以上的所有日志,INFO但将所有日志保存到该级别以上的所有日志中DEBUG。我了解如何设置级别,setLevel但是如何在不显示日志的情况下保存日志?

标签: pythonpython-3.xlogging

解决方案


您需要两个处理程序(WARNING级别为),在食谱StreamHandler中完美解释

# create logger with 'spam_application'
logger = logging.getLogger('spam_application')
logger.setLevel(logging.DEBUG)
# create file handler which logs even debug messages
fh = logging.FileHandler('spam.log')
fh.setLevel(logging.DEBUG)
# create console handler with a higher log level
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)
# create formatter and add it to the handlers
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)
# add the handlers to the logger
logger.addHandler(fh)
logger.addHandler(ch)

推荐阅读