我导入了一个在警告级别记录信息的模块。我认为编写此代码的人是在根级别进行日志记录,即代码只是:
import logging
logging.warn("foo")
我已尝试过以下代码,但它无法正常工作,可能是因为日志记录已发送到root或其他内容。
logging.getLogger(module).setLevel(logging.ERROR)
有没有办法可以禁用此模块的特定日志记录?
答案 0 :(得分:0)
这里有几件令人困惑的事情:
logging.getLogger(module).setLevel(logging.ERROR)
这里的'module'应该是一个字符串,通常是模块的完全限定名。即:package.module
。
根据格式,Logger的名称通常打印在日志中。这样你可以轻松地禁用它。
例如,如果你有类似的东西:
WARNING [foo.bar.baz] the message
记录器名称应为foo.bar.baz
。
但是,如果您认为它是根记录器,那么您可以尝试:
logger = logging.getLogger()
logger .setLevel(logging.ERROR)
另一件令人困惑的事情是Python警告。请查看此答案以停用它们:https://stackoverflow.com/a/14463362