如何在根级别禁用导入的模块日志记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在根级别禁用导入的模块日志记录相关的知识,希望对你有一定的参考价值。
我正在导入一个在警告级别记录信息的模块。我认为编写此代码的人是在根级别进行日志记录,即在代码中只是:
import logging
logging.warn("foo")
我已经尝试了下面的代码,但它不起作用,可能是因为日志记录被发送到root或其他东西。
logging.getLogger(module).setLevel(logging.ERROR)
有没有办法可以禁用此模块的特定日志记录?
答案
这里有几件令人困惑的事情:
logging.getLogger(module).setLevel(logging.ERROR)
这里的'module'应该是一个字符串,通常是模块的完全限定名称。是:qazxsw poi。
根据格式,Logger的名称通常打印在日志中。这样你可以轻松地禁用它。
例如,如果你有类似的东西:
package.module
记录器名称应为WARNING [foo.bar.baz] the message
。
但是,如果您认为它是根记录器,那么您可以尝试:
foo.bar.baz
另一件令人困惑的事情是Python警告。看看这个答案来禁用它们:logger = logging.getLogger()
logger .setLevel(logging.ERROR)
以上是关于如何在根级别禁用导入的模块日志记录的主要内容,如果未能解决你的问题,请参考以下文章