Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 记录器对象在哪里?_Python - Fatal编程技术网

Python 记录器对象在哪里?

Python 记录器对象在哪里?,python,Python,我正在尝试用python测试(pytest)一些代码 我用 import logging logging.getLogger() 现在,我想检索创建的logger对象,以便对其执行一些断言 但是如果我检查全局变量,我看不到它 记录器对象在哪里 编辑:感谢下面的回复 logger=logging.GetLooger() 我现在在logging.basicConfig()中面临同样的问题 当我执行r=logging.basicConfig()时,返回值是None。 globals中仍然没有记录器

我正在尝试用python测试(pytest)一些代码

我用

import logging
logging.getLogger()
现在,我想检索创建的logger对象,以便对其执行一些断言

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

记录器对象在哪里


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

我现在在
logging.basicConfig()
中面临同样的问题

当我执行
r=logging.basicConfig()
时,返回值是
None
globals中仍然没有记录器对象

在这种情况下如何找到记录器对象?

您必须执行以下操作:

logging.basicConfig(...)
logger = logging.getLogger()

通过这种方式,您可以对使用先前的
basicConfig
调用配置的
logger
对象执行断言所有记录器对象以字典格式存储在当前命名空间中。 您可以检索使用此代码创建的所有记录器对象

来自日志导入记录器

打印(Logger.manager.loggerDict)

这是一本字典

{'main':,'demo.demo.sub_log':,'demo.demo':,'demo':}

请看钥匙 main demo.demo.sub_日志 demo.demo 演示


希望它能解决你的疑问。它被用作内部工作。

检查
getLogger()
@Jus-thx的返回值以获得回复。我编辑了我的问题,以便更准确地解释我的问题。您能再看一看吗?您想在
logging.basicConfig()
上执行什么类型的断言?该方法返回一个Noneobject@ennepi这个方法应该创建一个Logger对象,但我找不到它。我想对logger对象进行断言这个问题有一个微妙之处,即
getLogger
如果多次调用,将始终返回同一个logger对象,因此无论返回值是否保存,对象都存储在某个位置。(当然,最简单的方法就是保存返回值。)谢谢你的回复。我编辑了我的问题,以便更准确地解释我的问题。你能再看一眼吗?刚才看到你在评论中回答了