Logger对象在哪里?

时间:2018-03-01 14:09:45

标签: python

我试图在python中测试(pytest)一些代码。

我使用

实例化一个记录器对象
import logging
logging.getLogger()

现在我想检索为了在其上执行某些断言而创建的记录器对象。

但是,如果我检查全局变量,我看不到它。

Logger对象在哪里?

编辑:感谢下面的回复 logger=logging.GetLooger()

我现在面临与logging.basicConfig()相同的问题。

当我r=logging.basicConfig()时,返回值为Noneglobals

中仍然没有Logger对象

在这种情况下如何找到Logger对象?

2 个答案:

答案 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 演示 演示

希望它将解决您的查询。它用作内部工作。