Django在打印日志的同时发送邮件的配置方法

我们的应用上线后,如果出现了异常,开发人员难以及时被通知到,所以一般会在触发error级别日志时,发送邮件给相关人员

  1. 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]')]  # 邮件接收人,可以有多个
  1. settings.py的LOGGING添加handlers,这里我们命名为mail_admins
'mail_admins': {
  'level': 'ERROR',
   'class': 'django.utils.log.AdminEmailHandler',
}
  1. settings.py的LOGGING配置loggers,我们这里默认触发error级别日志时发送邮件,则将mail_admins配置到django.error
'django.error': {
    'handlers': ['error_handler', 'mail_admins'],
    'level': 'ERROR',
    'propagate': False
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章