【发布时间】:2016-07-27 04:37:06
【问题描述】:
在 PyCharm 下使用 django.test.TestCase 运行/调试单个测试时,不会显示 logging.logger 消息。我尝试按照How can I see log messages when unit testing in PyCharm? 的建议设置logging.basicConfig(level=logging.DEBUG),但这也无济于事。我怀疑可能是 django 的 TestCase 设置干扰。
在测试设置或运行器配置中是否有其他方法可以为测试运行打开调试日志记录?
我现在在 settings.py 中设置的日志记录是:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'formatter': 'verbose'
},
'file': {
'level': 'DEBUG',
'class': 'logging.handlers.TimedRotatingFileHandler',
'filename': '/var/log/em/mcqueen-dev.log',
'when': 'midnight',
'formatter': 'verbose',
},
},
'formatters': {
'verbose': {
'format': '%(asctime)s.%(msecs).03d - %(process)d - %(thread)d - %(levelname)8s - %(filename)s:%(lineno)d - %(funcName)s - %(message)s'
},
'simple': {
'format': '%(asctime)s - %(levelname)s %(message)s'
},
},
'loggers': {
'mcqueen_api': {
'handlers': ['console', 'file'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'DEBUG')
},
'mcqueen_app': {
'handlers': ['console', 'file'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'DEBUG')
},
'mcqueen_base': {
'handlers': ['console', 'file'],
'level': os.getenv('DJANGO_LOG_LEVEL', 'DEBUG')
},
},
}
【问题讨论】:
-
请出示您的 settings.py 文件?
-
你能分享一下我建议的 django_test 配置吗?
标签: django unit-testing logging pycharm