美文网首页
使用logging系统发送邮件

使用logging系统发送邮件

作者: 盗花 | 来源:发表于2019-11-25 17:25 被阅读0次

django开发的网站正式部署上线后,通常要关闭settings.py中的DEBUG = True选项。此时如何方便获取系统存在的各种bug呢?一种解决方法是使用django的logging日志系统,并且将bug信息通过邮件发送给你。settings.py中的配置如下:

# 邮箱设置
EMAIL_HOST = 'smtp.126.com'
EMAIL_HOST_USER = 'XXXXXX'
EMAIL_HOST_PASSWORD = 'XXXXXX'
EMAIL_PORT = 25
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = '大青呱呱的博客 <sass1s@126.com>'

# 日志设置

# 要发送的邮件列表,必须项
ADMINS = (
    ('幽狐', '2063198253@qq.com'),
    ('math4s', 'math4s@126.com')
)
# EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
SERVER_EMAIL = 'sass1s@126.com'  # 邮件发送者,必须项

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '{levelname} {asctime} {module} {process:d} {thread:d} {message}',
            'style': '{'
        },
        'simple': {
            'format': '{levelname} {message}',
            'style': '{',
        },
    },
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    'handlers': {
        'console': {
            'level': 'INFO',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
        },
        'mail_admins': {
            'level': 'ERROR',
            'class': 'django.utils.log.AdminEmailHandler',
            'formatter': 'verbose',
        },
        'file': {
            'level': 'WARNING',
            # 'class': 'logging.FileHandler',

            # 日志分割
            'class': 'logging.handlers.TimedRotatingFileHandler',
            'when': 'midnight',  # 分割时间为凌晨
            'backupCount': 30,  # 保留最近的30天日志

            'filename': os.path.join(BASE_DIR, 'logs/debug.log'),
            'formatter': 'verbose',
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console'],
            # 'level': 'INFO',
            'propagate': True
        },
        'django.request': {
            'handlers': ['file', 'mail_admins'],
            'level': 'WARNING',
            'propagate': False,
        },
    },
}

相关文章

网友评论

      本文标题:使用logging系统发送邮件

      本文链接:https://www.haomeiwen.com/subject/zweqwctx.html