如何在Python中的导入模块中关闭根记录器的日志记录?

如何在Python中的导入模块中关闭根记录器的日志记录?,python,logging,Python,Logging,如果它是一个命名的记录器,我可以执行类似于logging.getLogger(“name”).setLevel(logging.WARNING)的操作,这样我就不会从模块获取调试消息 我也可以为我的应用程序更改rootLogger的阈值,但我希望将其保持在DEBUG状态,因为我对来自其他模块的调试消息感兴趣,而不是这个模块。您可以通过不向getLogger提供参数来获取根记录器 # set level on root logger logging.getLogger().setLevel(log

如果它是一个命名的记录器,我可以执行类似于
logging.getLogger(“name”).setLevel(logging.WARNING)
的操作,这样我就不会从模块获取调试消息


我也可以为我的应用程序更改rootLogger的阈值,但我希望将其保持在DEBUG状态,因为我对来自其他模块的调试消息感兴趣,而不是这个模块。

您可以通过不向
getLogger
提供参数来获取根记录器

# set level on root logger
logging.getLogger().setLevel(logging.WARNING)

编辑:因为评论澄清了预期答案。如果日志未直接发送到根日志记录器,在这种情况下,无法阻止日志到达根日志记录器,则可以通过在日志来源的日志记录器上设置propagate to
false
,阻止日志到达根日志记录器。

如我在问题中所述,我不想为我的应用程序更改rootLogger的阈值,因为我对调试来自其他一些模块的消息感兴趣。@SaravananSetty添加了一个编辑,如果我正确理解编辑的意思,我们可以将导入模块上的logger更改为不向上传播,这可能会有所帮助?但是,如果我不能更改导入模块的源怎么办?您仍然可以通过获取记录器的名称来更改它。每个模块都可以访问所有记录器该模块使用的是rootLogger,而不是命名记录器。那么,我甚至会使用什么作为获取记录器的“名称”?