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/

相关文章:

asp.net-core - 如何使用 Serilog 抑制 'An unhandled exception has occurred while executing the request.' 日志消息

python - 有没有给我一个没有路径的文件名的函数?

python - Django的classonlymethod有什么用?

python - 这是子类化 python 线程以接受变量更新的有效方法吗?

python-3.x - Tensorflow 合并数据集的替代方法

c - 如何在不进行系统调用的情况下获取线程ID?获取系统时间与使用系统调用获取线程 ID 相比,花费的时间更少、更多还是相同?

Python:list() 函数搞乱了 map()

python - 如何在 SQLAlchemy 中使用 FROM 对象注释函数元素

python - 使用 Python/Pandas 解析嵌套 JSON

logging - Azure 网站和企业库日志记录