当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python Django AdminEmailHandler用法及代码示例


本文介绍 django.utils.log.AdminEmailHandler 的用法。

声明

class AdminEmailHandler(include_html=False, email_backend=None, reporter_class=None)[source]

此处理程序针对它收到的每条日志消息向站点 ADMINS 发送一封电子邮件。

如果日志记录包含request 属性,则请求的完整详细信息将包含在电子邮件中。如果客户端的 IP 地址在 INTERNAL_IPS 设置中,则电子邮件主题将包含短语 “internal IP”;如果没有,它将包括“EXTERNAL IP”。

如果日志记录包含堆栈跟踪信息,则该堆栈跟踪将包含在电子邮件中。

AdminEmailHandlerinclude_html 参数用于控制回溯电子邮件是否包含 HTML 附件,该附件包含如果 DEBUG True 时将生成的调试网页的完整内容。要在配置中设置此值,请将其包含在 django.utils.log.AdminEmailHandler 的处理程序定义中,如下所示:

'handlers': {
    'mail_admins': {
        'level': 'ERROR',
        'class': 'django.utils.log.AdminEmailHandler',
        'include_html': True,
    },
},

使用 AdminEmailHandler 时请注意日志记录的安全隐患。

通过设置 AdminEmailHandleremail_backend 参数,可以覆盖处理程序正在使用的电子邮件后端,如下所示:

'handlers': {
    'mail_admins': {
        'level': 'ERROR',
        'class': 'django.utils.log.AdminEmailHandler',
        'email_backend': 'django.core.mail.backends.filebased.EmailBackend',
    },
},

默认情况下,将使用 EMAIL_BACKEND 中指定的电子邮件后端实例。

AdminEmailHandlerreporter_class 参数允许提供 django.views.debug.ExceptionReporter 子类来自定义电子邮件正文中发送的回溯文本。您为要使用的类提供字符串导入路径,如下所示:

'handlers': {
    'mail_admins': {
        'level': 'ERROR',
        'class': 'django.utils.log.AdminEmailHandler',
        'include_html': True,
        'reporter_class': 'somepackage.error_reporter.CustomErrorReporter',
    },
},

相关用法


注:本文由纯净天空筛选整理自djangoproject.com大神的英文原创作品 django.utils.log.AdminEmailHandler。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。