Django日志记录配置要求在处理程序上指定筛选器
我正在为Django项目配置日志记录,以下是设置:Django日志记录配置要求在处理程序上指定筛选器,django,logging,Django,Logging,我正在为Django项目配置日志记录,以下是设置: LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'mail_admins': { 'level': 'ERROR', # 'filters': [], 'class': 'django.utils.log.AdminEmailHand
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"
注释掉“过滤器”:[]后,控制台不会记录任何错误。取消对该行的注释可以使一切按预期进行
让我相信日志记录在处理程序上是可选的
这里发生了什么事?看来你错过了记录者词典中的关键部分。我正在使用下面的词典,它工作正常
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,
}
}
}
你在说什么键?在我的dict中,键是django.request…为什么你的记录器dict没有键?因为我想要一个“全面”记录器,也就是说,所有错误消息都应该通过电子邮件发送给我,而不仅仅是django.request或更深入的消息。