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': {
'console': {
'level':'DEBUG',
'class':'logging.StreamHandler',
'strm': sys.stdout,
'formatter':'simple'
},
},
'loggers': {
'django': {
'handlers':['console'],
'propagate': True,
'level':'INFO',
},
#'django.request': {
# 'handlers': ['console'],
# 'level': 'ERROR',
# 'propagate': True,
#},
},
}
尝试了记录器,活动和注释掉的记录器(以及许多其他记录器)。 运行
python manage.py runserver 0.0.0.0:8080
然而,在我的控制台打印的500错误上没有任何痕迹,只是:
[21/Feb/2012 04:21:10] "POST /some/path/function/ HTTP/1.1" 500 105627
我做错了什么?
答案 0 :(得分:3)
您需要指定filters
:
'loggers': {
'django': {
'handlers':['console'],
'filters': [], # <-- this line
'propagate': True,
'level':'INFO',
},
},
我不知道为什么。
答案 1 :(得分:2)
记录器级别对处理程序级别具有更高的优先级, logging.DEBUG的值为10,logging.INFO的值为20.
'handlers': {
'console': {
'level':'DEBUG',
},
}
'loggers': {
'level':'INFO',
}
因此,您的日志记录始终设置为记录器优先级的INFO级别,并且不会使用DEBUG输出。
这就是我认为的问题。
答案 2 :(得分:0)
我花了一些时间来挖掘,但这是因为:
https://docs.djangoproject.com/en/dev/releases/1.4/#request-exceptions-are-now-always-logged
这很令人困惑,应该在日志文档中突出显示,而不是。