我试图在python中测试(pytest)一些代码。
我使用
实例化一个记录器对象import logging
logging.getLogger()
现在我想检索为了在其上执行某些断言而创建的记录器对象。
但是,如果我检查全局变量,我看不到它。
Logger对象在哪里?
编辑:感谢下面的回复
logger=logging.GetLooger()
我现在面临与logging.basicConfig()
相同的问题。
当我r=logging.basicConfig()
时,返回值为None
。
globals
在这种情况下如何找到Logger对象?
答案 0 :(得分:2)
你必须这样做:
logging.basicConfig(...)
logger = logging.getLogger()
通过这种方式,您可以在使用之前logger
调用配置的basicConfig
对象上执行断言
答案 1 :(得分:0)
所有记录器对象以字典格式存储在当前名称空间中。 您可以检索使用此代码创建的所有记录器对象。
从日志记录导入Logger中
打印(Logger.manager.loggerDict)
这是一本字典。
{' main ':,'demo.demo.sub_log':,'demo.demo':,'demo':}
请看钥匙 主要 demo.demo.sub_log 演示 演示
希望它将解决您的查询。它用作内部工作。