如何使用python的日志记录模块为每个处理程序和每个模块设置日志记录级别

时间:2019-07-15 18:58:37

标签: python-3.x logging

我想在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”显示“警告”及以上,在控制台中从“ a”显示“ INFO”及以上。使用上面的代码,“ b”文件中没有任何日志。

0 个答案:

没有答案