Python Django-对管理员错误电子邮件使用不同的电子邮件后端
我正在Django应用程序中使用自定义电子邮件后端(本例中为CeleryEmailBackend): 我的日志记录配置:Python Django-对管理员错误电子邮件使用不同的电子邮件后端,python,django,logging,django-settings,django-email,Python,Django,Logging,Django Settings,Django Email,我正在Django应用程序中使用自定义电子邮件后端(本例中为CeleryEmailBackend): 我的日志记录配置: LOGGING = { # ... 'handlers': { 'mail_admins': { 'level': 'ERROR', 'filters': ['require_debug_false'], 'class': 'django.utils.log.AdminEm
LOGGING = {
# ...
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler',
},
# ...
}
管理员错误电子邮件也由同一电子邮件后端发送。因此,如果电子邮件后端出现问题(例如芹菜未运行)。那么我就不会收到服务器错误电子邮件了
有没有办法让AdminEmailHandler使用自定义的电子邮件后端?这是可能的,但在django 1.6中,引用: 通过设置AdminEmailHandler的email_backend参数,电子邮件 可以覆盖处理程序正在使用的后端,如 这:
如果您不想升级(因为1.6是不稳定的,例如),请考虑基于以下内容定制一个电子邮件处理程序。这应该不难,因为实际的实现是非常直接和干净的(参见)
或者,您可以从django 1.6中提取整个
AdminEmailHandler
类,并将其用作自定义电子邮件处理程序。刚刚找到它。。。1.5有什么解决办法吗?太棒了!非常感谢。出于某种原因,这个解决方案对我来说不适用于1.8。任何一个有类似问题的人??
LOGGING = {
# ...
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler',
},
# ...
}
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
'email_backend': 'django.core.mail.backends.filebased.EmailBackend',
}
},