我有一个定制的python记录器
# logger.py
import logging
#logging.basicConfig(level=logging.DEBUG)
logger = logging.getLogger(__name__)
c_handler = logging.StreamHandler()
c_handler.setLevel(logging.DEBUG)
c_format = logging.Formatter('%(name)s - %(levelname)s - %(message)s')
c_handler.setFormatter(c_format)
logger.addHandler(c_handler)我已将级别设置为调试,但只显示了警告(和上面的警告)。
from ..logger import logger
...
logger.debug('this is a debug log message')
logger.warning('too hot to handle')
...my_module.logger:too热处理
如果我取消评论的话
logging.basicConfig(level=logging.DEBUG)然后我得到了调试级别,但是有两个消息副本。
my_module.logger -调试-这是一个调试日志消息DEBUG:my_module.logger:this是一个调试日志消息my_module.logger警告太热了无法处理WARNING:my_module.logger:too热到无法处理。
我不会在包中的任何其他点导入日志记录。
我应该如何配置记录器?
发布于 2021-10-13 15:12:43
再次阅读文档之后,我意识到传播是我需要用来关闭祖先日志输出的属性。所以我的伐木工变成了
# logger.py
import logging
logging.basicConfig(level=logging.DEBUG)
logger.propagate = False
logger = logging.getLogger(__name__)
c_handler = logging.StreamHandler()
c_handler.setLevel(logging.DEBUG)
c_format = logging.Formatter('%(name)s - %(levelname)s - %(message)s')
c_handler.setFormatter(c_format)
logger.addHandler(c_handler)我只收到一条日志消息,并且使用了调试级别。
https://stackoverflow.com/questions/69557664
复制相似问题