我正在为我的Django项目配置日志记录,这里是设置:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'mail_admins': {
'level': 'ERROR',
# 'filters': [],
'class': 'django.utils.log.AdminEmailHandler'
}
},
'loggers': {
'': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
}
}
EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
注释掉'filters': []
后,控制台不会记录任何错误。取消注释该行会使一切按预期工作。
Python's logging.config docs会让我相信logging
在处理程序上是可选的。
这里发生了什么?
答案 0 :(得分:0)
似乎你错过了记录器词典中的密钥。我正在使用以下字典及其工作正常。
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
}
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
}
}
}