如何在根级别禁用导入的模块日志记录

问题描述 投票:1回答:1

我正在导入一个在警告级别记录信息的模块。我认为编写此代码的人是在根级别进行日志记录,即在代码中只是:

import logging
logging.warn("foo")

我已经尝试了下面的代码,但它不起作用,可能是因为日志记录被发送到root或其他东西。

logging.getLogger(module).setLevel(logging.ERROR)

有没有办法可以禁用此模块的特定日志记录?

python logging module
1个回答
0
投票

这里有几件令人困惑的事情:

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)

© www.soinside.com 2019 - 2024. All rights reserved.