我们的应用上线后,如果出现了异常,开发人员难以及时被通知到,所以一般会在触发error级别日志时,发送邮件给相关人员
- settings.py添加发件人和收件人相关信息
EMAIL_HOST = 'smtp.qq.com'
EMAIL_PORT = 25
EMAIL_HOST_USER = '[email protected]' # 发件箱
EMAIL_HOST_PASSWORD = 'xxxxx' # 开启POP3/SMTP服务
SERVER_EMAIL = '[email protected]' # 与发件箱一致
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
ADMINS = [('John', '[email protected]'), ('Peter', '[email protected]')] # 邮件接收人,可以有多个
- settings.py的LOGGING添加handlers,这里我们命名为mail_admins
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
}
- settings.py的LOGGING配置loggers,我们这里默认触发error级别日志时发送邮件,则将mail_admins配置到django.error
'django.error': {
'handlers': ['error_handler', 'mail_admins'],
'level': 'ERROR',
'propagate': False
}