gpt4 book ai didi

python 日志记录 : logger setLevel() is not enforced?

转载 作者:行者123 更新时间:2023-12-01 03:50:51 25 4
gpt4 key购买 nike

fmtter = logging.Formatter('%(asctime)s,%(msecs)05.1f (%(funcName)s) %(message)s', '%H:%M:%S')

rock_log = '%s/rock.log' % Build.path
hdlr = logging.FileHandler(rock_log, mode='w')
hdlr.setFormatter(fmtter)
hdlr.setLevel(logging.DEBUG)

rock_logger = logging.getLogger('rock')
rock_logger.addHandler(hdlr)

我有上面的记录器

rock_logger.info("hi") 不会在日志中打印任何内容,但是
rock_logger.error("hi") 确实打印到日志

我认为这与级别有关,但我专门将其设置为logging.DEBUG

有人知道我做错了什么吗?

最佳答案

在您的情况下,rock_logger 是记录器,hdlr 是处理程序。当您尝试记录某些内容时,记录器首先检查它是否应该处理该消息(取决于它自己的日志级别)。然后它将消息传递给处理程序。然后处理程序根据自己的日志级别检查级别并决定是否将其写入文件。

您的 rock_logger 可能将日志记录级别设置为错误。因此,当您尝试 info()debug() 时,它不会将消息传递给处理程序。

rock_logger.setLevel(logging.DEBUG)

这应该可以解决问题。

关于python 日志记录 : logger setLevel() is not enforced?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38286641/

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