Python日志记录不会使用basicConfig设置日志记录级别

Python日志记录不会使用basicConfig设置日志记录级别,第1张

概述出于某种原因,logging.basicConfig忽略了我给它的记录级别.我的脚本中包含以下代码: # main.pyprint logging.getLogger().getEffectiveLevel()print logger_levellogging.basicConfig(format=logger_format, level=logge 出于某种原因,logging.basicConfig忽略了我给它的记录器级别.我的脚本中包含以下代码:

# main.pyprint logging.getLogger().getEffectiveLevel()print logger_levellogging.basicConfig(format=logger_format,level=logger_level,)print logging.getLogger().getEffectiveLevel()

输出是:

301030

因此,它实际上并没有设置记录器级别.但是,如果我在交互式解释器中执行此确切代码,我会得到以下输出:

301010

这意味着我正在设置日志记录级别.更令人困惑的是,这是最近发生的事情 – 我不知道我做了什么导致了这种行为.谁能提供一些见解?

编辑:如果遇到相关问题,我尝试从我的IDE(Sublime Text)和命令行运行main.py,两者都具有相同的结果.我正在基于conda的虚拟环境中工作,我尝试在环境中运行代码而不是(但只能从解释器 – 脚本无法处理一般环境),结果相同.

解决方法 从 python logging module docs,

This function does nothing if the root logger already has handlers configured for it.

我的假设是你之前调用了basicConfig(),它安装了处理程序.

尝试直接在根记录器上设置loglevel.

logging.getLogger().setLevel(logger_level)

如果要更改格式,则需要为处理程序提供新的格式化程序.假设已将处理程序添加到根记录器,以下 *** 作可能会起作用.

logging.getLogger().handlers[0].setFormatter(logging.Formatter(logger_format))
总结

以上是内存溢出为你收集整理的Python日志记录不会使用basicConfig设置日志记录级别全部内容,希望文章能够帮你解决Python日志记录不会使用basicConfig设置日志记录级别所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193457.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存