【发布时间】:2015-08-13 13:15:18
【问题描述】:
我正在 django 中尝试一些简单的测试。我已经在我的设置文件中设置了我的 django 日志系统。但是当我运行我的测试时,它不会在我的控制台上打印调试消息。当我从 manage.py test 命令运行测试时会发生这种情况。如果我使用我的 IDE 的运行命令它会正常打印消息。我的日志记录设置如下
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s %(process)d (thread)d %(message)s'
},
'simple':{
'format': '%(levelname)s %(message)s'
},
},
'handlers': {
'null': {
'level': 'DEBUG',
'class': 'django.utils.log.NullHandler',
},
'console': {
'level':'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'simple',
},
},
'loggers': {
'django': {
'handlers': ['console', ],
'propagate': True,
'level': 'DEBUG'
},
'payments_system': {
'handlers': ['console', ],
'propagate': True,
'level': 'DEBUG'
}
}
}
日志记录基于 django 的网站示例。使用 manage.py 运行测试时,如何使消息显示在控制台中?
【问题讨论】:
-
可以看到这里stackoverflow.com/questions/1236285/…,django 的测试运行程序似乎捕获了标准输出,所以你的日志消息可能会被吞掉。
标签: python django unit-testing logging