gpt4 book ai didi

Python 记录器不工作

转载 作者:太空狗 更新时间:2023-10-29 17:12:57 26 4
gpt4 key购买 nike

我尝试在 Python 中使用日志记录来写一些日志,但奇怪的是,只有 error 会被记录,无论我设置哪个级别, info 都会被忽略.

代码:

import logging
import logging.handlers

if __name__ == "__main__":
logger = logging.getLogger()
fh = logging.handlers.RotatingFileHandler('./logtest.log', maxBytes=10240, backupCount=5)
fh.setLevel(logging.DEBUG)#no matter what level I set here
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.info('INFO')
logger.error('ERROR')

结果是:

2014-01-14 11:47:38,990 - root - ERROR - ERROR

根据 http://docs.python.org/2/library/logging.html#logging-levels

INFO 也应该被记录下来。

最佳答案

问题是记录器的 级别仍设置为默认值。因此,记录器甚至在消息到达处理程序之前就将其丢弃。处理程序在收到消息后会接受消息这一事实并不重要,因为它从未收到过消息。

所以,只需添加:

logger.setLevel(logging.INFO)

作为the docs解释一下,记录器的默认级别是NOTSET,这意味着它会检查其父级,即根,其默认级别为WARNING

并且您可以将处理程序保留为默认值 NOTSET,这意味着它遵从记录器的过滤。

关于Python 记录器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21105753/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com