python - 如何使用 python.logging 模块列出所有现有的记录器

标签 python python-3.x logging

有没有办法在 Python 中获取所有已定义记录器的列表?

我的意思是,是否存在诸如 logging.getAllLoggers() 之类的会返回 Logger 对象列表的东西?

我搜索了 python.logging 文档,但找不到这样的方法。

最佳答案

记录器由 logging.Manager 实例保存在层次结构中。您可以在根 logger 上向 manager 查询它所知道的 logger。

import logging

loggers = [logging.getLogger(name) for name in logging.root.manager.loggerDict]

调用 getLogger(name) 可确保 loggerDict 持有的任何占位符记录器在添加到列表时完全初始化。

关于python - 如何使用 python.logging 模块列出所有现有的记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53249304/

相关文章:

python - 我在 pyqt5 中遇到错误,同时连接按钮

python - 如何将列表列表打印为简单字符串?

azure - 清理 Azure Web 作业中的日志

python - 在python中,什么时候可以省略self?

javascript - 当通过 post 请求发送有效的 json 数据时,Flask request.get_json() 返回 None

python - 如何按字母顺序对单键字典数组进行排序?

使用 dictconfig 的 Python Loggly 日志记录设置

python - 如何使用 pandas 从 csv 中读取一行,进行 VLOOKUP 操作并将结果保存到另一个文件中?

Python检测终止请求

logging - log4net 和整数