在 Django 测试中设置根记录器的日志记录级别
Set the logging level on the root logger in Django tests
我有以下配置(基于this):
'loggers': {
'django': {
'handlers': ['console'],
'level': 'INFO',
},
'root': {
'handlers': ['console'],
'level': 'INFO',
},
},
当我 运行 我的测试是这样的 (Django 1.8.4)
./manage.py test
我从我自己的代码中的源代码行获得 DEBUG 级别的输出,看起来像
import logging
logging.debug("Shouldn't be seen, but is")
该行表明日志消息将发送到根记录器,如我所料:
DEBUG:root:blah: Shouldn't be seen, but is
因为测试运行宁它说
nosetests --verbosity=1
如果我说
./manage.py test --verbosity=0
nosetests 消息消失,但调试日志记录没有。
这是怎么回事?我的日志记录配置错误吗?鼻子测试有干扰吗?姜戈?
我认为我的日志记录配置正在被读取。我通过在此配置文件中配置该记录器来抑制 django.request 警告。
我该如何调试?
(我读了 this related post,没有帮助。)
您的记录器配置写入不正确。 'root' 配置超出了 'loggers' 部分,如下所示:
'loggers': {
'django': {
'handlers': ['console'],
'level': 'INFO',
},
},
'root': {
'handlers': ['console'],
'level': 'INFO',
}
设置它应该可以工作。
我有以下配置(基于this):
'loggers': {
'django': {
'handlers': ['console'],
'level': 'INFO',
},
'root': {
'handlers': ['console'],
'level': 'INFO',
},
},
当我 运行 我的测试是这样的 (Django 1.8.4)
./manage.py test
我从我自己的代码中的源代码行获得 DEBUG 级别的输出,看起来像
import logging
logging.debug("Shouldn't be seen, but is")
该行表明日志消息将发送到根记录器,如我所料:
DEBUG:root:blah: Shouldn't be seen, but is
因为测试运行宁它说
nosetests --verbosity=1
如果我说
./manage.py test --verbosity=0
nosetests 消息消失,但调试日志记录没有。
这是怎么回事?我的日志记录配置错误吗?鼻子测试有干扰吗?姜戈?
我认为我的日志记录配置正在被读取。我通过在此配置文件中配置该记录器来抑制 django.request 警告。
我该如何调试?
(我读了 this related post,没有帮助。)
您的记录器配置写入不正确。 'root' 配置超出了 'loggers' 部分,如下所示:
'loggers': {
'django': {
'handlers': ['console'],
'level': 'INFO',
},
},
'root': {
'handlers': ['console'],
'level': 'INFO',
}
设置它应该可以工作。