gpt4 book ai didi

python - 日志记录 - 如何忽略导入的模块日志?

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:57 27 4
gpt4 key购买 nike

如何忽略导入模块(不是我写的)的日志条目?

设置:

import logging    
import <someOtherModule>

logging.basicConfig(level=logging.INFO)

class myClass:
...
def some_method(self):
logging.info('calling module')
someOtherModule.function()
logging.info('stuff happened')

if __name__ == "__main__":
a = myClass().some_method()

日志:

INFO:root:calling module
INFO:<someOtherModule>.<some dependency> <random dependency message here>
INFO:root:stuff happened

我怎样才能摆脱中间的信息?

在查看日志记录文档或谷歌搜索后,我无法找到答案。
我找到了 this回答,但解决方法似乎对我不起作用。

对于好奇的人,实际的日志条目是:

INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): <address here>  

最佳答案

一个解决方法(我承认这不是一个很好的方法)是使用 logging.disable在调用依赖方法时禁用 INFO 日志的方法。

class myClass: 
...
def some_method(self):
logging.info('calling module')
logging.disable(logging.INFO)
someOtherModule.function()
logging.disable(logging.NOTSET)
logging.info('stuff happened')

我认为,这给您带来的一个好处是,如果依赖模块要报告任何错误警告/严重故障日志消息,这将只允许它们。您可以将禁用属性设置为 logging.WARNING 以仅报告错误或失败消息。

关于python - 日志记录 - 如何忽略导入的模块日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27685568/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com