mis*_*iru 26 python logging python-3.x
有没有办法在python中获取列表所有已定义的记录器?
我的意思是,是否存在可以使用的东西,logging.getAllLoggers()
哪些会返回Logger对象列表?
我搜索了python.logging文档,但找不到这样的方法.
先感谢您.
Wil*_*ing 49
记录器由logging.Manager
实例保存在层次结构中.您可以manager
在根记录器上查询 它知道的记录器.
import logging
loggers = [logging.getLogger(name) for name in logging.root.manager.loggerDict]
Run Code Online (Sandbox Code Playgroud)
Jon*_*n L 18
如果您还想在列表中包含 RootLogger,请执行类似以下操作:
import logging
loggers = [logging.getLogger()] # get the root logger
loggers = loggers + [logging.getLogger(name) for name in logging.root.manager.loggerDict]
Run Code Online (Sandbox Code Playgroud)
在 Python 3.7.4 上测试
ste*_*mer 12
如果您尝试检查日志记录对象的层次结构,我建议使用logging_tree.printout()
:
import logging_tree
logging_tree.printout()
Run Code Online (Sandbox Code Playgroud)
或者,如果您想让您的代码可以访问日志记录树:
logging_tree.tree()
Run Code Online (Sandbox Code Playgroud)
请参阅https://pypi.org/project/logging_tree/了解更多信息。
归档时间: |
|
查看次数: |
6827 次 |
最近记录: |