Django服务器错误自动发送邮件警报

Django 有个在DEBUG=False时,服务500错误时自动发送警报邮件功能 之前用过一阵这个功能,但是发现好像不能控制发送频率,遂换成独立的监控服务了。

记录一下用法,

配置ADMINS,收件人,元组形式。

然后下面是163的配置示例,注意EMAIL_HOST_PASSWORD不是邮箱密码,是单独设置的授权密码管理

ADMINS = [
    ('name', 'xxx@163.com'),
]

SERVER_EMAIL ='xxx@163.com'
DEFAULT_FROM_EMAIL ='xxx@163.com'
EMAIL_HOST ='smtp.163.com'
EMAIL_PORT = 25
EMAIL_BACKEND ='django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST_USER ='xxs@163.com'
EMAIL_HOST_PASSWORD ='xxx'

再来一个gmail的设置,前提是服务器能连外网。

SERVER_EMAIL ='xxx@gmail.com'
DEFAULT_FROM_EMAIL ='xxx@gmail.com'
EMAIL_HOST ='smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_BACKEND ='django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST_USER ='xxx@gmail.com'
EMAIL_HOST_PASSWORD ='xxx'
EMAIL_USE_TLS = True

 有些教程上还写了一些要配置日志的地方,其实如果没有配置LOGGING的话,Django默认的DEFAULT_LOGGING就行了。

自带的django logger的handler包括了mail_admins这个handler

贴一下Django的默认日志配置: 

DEFAULT_LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse',
        },
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    'formatters': {
        'django.server': {
            '()': 'django.utils.log.ServerFormatter',
            'format': '[%(server_time)s] %(message)s',
        }
    },
    'handlers': {
        'console': {
            'level': 'INFO',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
        },
        'django.server': {
            'level': 'INFO',
            'class': 'logging.StreamHandler',
            'formatter': 'django.server',
        },
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        }
    },
    'loggers': {
        'django': {
            'handlers': ['console', 'mail_admins'],
            'level': 'INFO',
        },
        'django.server': {
            'handlers': ['django.server'],
            'level': 'INFO',
            'propagate': False,
        },
    }
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值