當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。