服务部署上云后,避免不了代码会有一些Bug,每次都让用户反馈不太现实,让服务出问题的时候发送邮件通知看起来还不错。
当服务出错时,会发送类似这样的邮件
参考教程
-
将DEBUG改为False
-
在settings.py中配置邮箱通知
1 2 3 4 5 6 7 8 9 10 11 12 13
# 被通知的用户,例如这样 ADMINS = [('bai', '3401797899@qq.com'), ] # 错误信息电子邮件地址的来源 一般为发信邮箱 SERVER_EMAIL = '' # SMTP服务器配置 EMAIL_HOST = 'smtp.qq.com' EMAIL_HOST_PASSWORD = '' # 授权码 EMAIL_HOST_USER = '' # SMTP 服务器端口 # 25(无)/SSL(465)/TLS(587) EMAIL_PORT = 465 # 使用SSL模式 EMAIL_USE_SSL = True
-
配置logger
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'filters': { 'require_debug_false': { '()': 'django.utils.log.RequireDebugFalse', } }, 'handlers': { 'mail_admins': { 'level': 'ERROR', 'filters': ['require_debug_false'], 'class': 'django.utils.log.AdminEmailHandler' } }, 'loggers': { 'django': { 'handlers': ['mail_admins', ], 'level': 'ERROR', }, } }
如果没有错误进行拦截,这么配置就可以了。如果拦截了,得手动logger一下
例如在DRF中
|
|