所以我从命令行 python 运行以下代码:
import logging
rootLog = logging.getLogger(__name__)
rootLog.setLevel(logging.INFO)
rootLog.warning("This is a root warning")
rootLog.info("This is root info")
def info():
log = rootLog.getChild("info")
log.info("This is info")
log.warning("This is a warning")
info()
我希望在控制台上看到所有四个日志消息,但我只看到警告。到底是怎么回事?我是不是误会了什么?
编辑:
我通过在脚本开头添加 logging.basicConfig() 发现我会得到我期望的输出。这很奇怪,因为有关日志记录的 python 文档指出:
如果没有为根记录器定义处理程序,函数
debug()
、info()
、和将自动调用。warning()
error()
critical()
basicConfig()