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
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章