有没有办法在 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/