首页 > 解决方案 > 如何使用 python 的日志记录模块为每个处理程序和每个模块设置日志记录级别

问题描述

我想在 python 中为每个处理程序和记录器设置不同的日志记录级别。我希望将所有记录器的调试级别日志发送到他们的文件处理程序,但能够单独选择每个记录器的日志级别以打印到控制台。

import logging

loggerA = logging.getLogger('a')
fhA = logging.FileHandler(filename='a.log', mode='w')
fhA.setLevel(logging.DEBUG)
loggerA.addHandler(fhA)

loggerB = logging.getLogger('b')
fhB = logging.FileHandler(filename='b.log', mode='w')
fhB.setLevel(logging.DEBUG)
loggerB.addHandler(fhB)

logging.basicConfig(level=logging.INFO)
logging.getLogger('a').setLevel(logging.INFO)
logging.getLogger('b').setLevel(logging.WARN)
loggerA.info("TEST a")
loggerB.info("TEST b")

我希望所有日志都发送到文件中,但仅在控制台中的“b”中显示 WARNING 及以上,从控制台中的“a”中显示 INFO 及以上。使用上面的代码,'b' 文件中没有任何日志。

标签: python-3.xlogging

解决方案


推荐阅读