【发布时间】:2021-07-20 00:29:39
【问题描述】:
我有一个调试级别的日志记录模块的基本配置——现在我想创建另一个只有错误级别的记录器。我该怎么做?
问题是除了错误处理程序之外还调用了根处理程序 - 这是我想要避免的。
import logging
fmt = '%(asctime)s:%(funcName)s:%(lineno)d:%(levelname)s:%(name)s:%(message)s'
logging.basicConfig(level=logging.DEBUG, format=fmt)
logger = logging.getLogger('Temp')
logger.setLevel(logging.ERROR)
handler = logging.StreamHandler()
handler.setLevel(logging.ERROR)
logger.addHandler(handler)
logger.error('boo')
上面的代码打印了两次 boo,而我只期望一次,我不知道如何处理这个烦人的问题......
In [4]: logger.error('boo')
boo
2021-04-26 18:54:24,329:<module>:1:ERROR:Temp:boo
In [5]: logger.handlers
Out[5]: [<StreamHandler stderr (ERROR)>]
【问题讨论】: