Python 记录器对象在哪里?
我正在尝试用python测试(pytest)一些代码 我用Python 记录器对象在哪里?,python,Python,我正在尝试用python测试(pytest)一些代码 我用 import logging logging.getLogger() 现在,我想检索创建的logger对象,以便对其执行一些断言 但是如果我检查全局变量,我看不到它 记录器对象在哪里 编辑:感谢下面的回复 logger=logging.GetLooger() 我现在在logging.basicConfig()中面临同样的问题 当我执行r=logging.basicConfig()时,返回值是None。 globals中仍然没有记录器
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对象,因此无论返回值是否保存,对象都存储在某个位置。(当然,最简单的方法就是保存返回值。)谢谢你的回复。我编辑了我的问题,以便更准确地解释我的问题。你能再看一眼吗?刚才看到你在评论中回答了