在终端本地捕获和过滤所有日志

问题描述

我有一个通常在托管生产环境中运行的服务,会吐出日志而未显示任何内容

我已经编写了一个脚本来在本地测试服务的不同部分,我想捕获由不同库和文件输出的所有日志,并且仅将相关日志打印到我的终端控制台。

我似乎无法弄清楚如何使用logger.addFilteraddHandler方法,而且我也不确定如何使用StreamHandler。

我注意到,当我将实例化的StreamHandler传递给root_logger处理程序时,它会删除所有顶级日志,但不会捕获嵌套名称的记录器。

例如。

root_logger = logging.getLogger()
stream_handler = logging.StreamHandler()
root_logger.addHandler(stream_handler)

...

run_script()

> {'name': 'service.library.loggerA'} < still logged
> {'name': 'service.library.loggerB'} < still logged
> {'name': 'ServiceClass'} < NOT logged

任何人都可以帮助我了解所有这些内容以及我如何使用它们过滤工具中的所有日志吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)