我是 python 的新手。我在尝试登录 python 时遇到了 No handlers could be found for logger error while trying to print some warning through logger instance.下面是我试过的代码
import logging
logger=logging.getLogger('logger')
logger.warning('The system may break down')
我收到此错误 找不到记录器“记录器”的处理程序
令我困惑的是,当我第一次尝试使用 logging
然后通过 logger
打印警告时,它工作正常,比如
>>> import logging
>>> logging.warning('This is a WARNING!!!!')
WARNING:root:This is a WARNING!!!!
>>>
>>> logger.warning('WARNING!!!!')
WARNING:logger:WARNING!!!!
有人可以阐明第二种情况下发生的事情吗?
原文由 qwerty 发布,翻译遵循 CC BY-SA 4.0 许可协议
为了通过
logger
记录一些消息,在 Python 中至少应将一个处理程序添加到logger
对象。 By default thedebug
,warn
and other functions inlogging
module will callbasicConfig
which in turn will add aStreamHandler
到root logger
。始终 建议 将所需的处理程序添加到您为模块编写的记录器对象中。
你可以参考 Python 官方文档,里面有 很棒的教程,或者你可以自己查看日志模块的源代码。
您只需通过以下方式检查 Python shell 本身的源代码,
最后,明确调用
basicConfig
将解决问题。