2013-03-22 6 views
8

장고에 내장 된 사이트가 있습니다.장고 오류 전자 메일에 지역 변수 포함

생산 사이트에서 오류가 발생하면 Django는 자동으로 settings.py의 ADMINS 목록에 나열된 전자 메일 주소로 스택 추적을 보냅니다.

이 스택 추적에 사이트가 디버그 모드에있을 때 표준 스택 추적과 같은 각 스택 프레임에 대한 로컬 변수가 포함되기를 바랍니다.

아이디어가 있으십니까?

감사합니다.

답변

9

정말 간단하게 설정할 수 있습니다. 어떤 처리기가 오류 전자 메일을 보내고 있는지 로깅 구성에 'include_html': True을 입력하면됩니다. 예를 들어

(이것은 "include_html"라인에서 제외하고 기본 로깅 핸들러) : 이것은 당신이 얻을 오류 페이지의 내용에 오류 이메일에서 HTML 첨부 파일이 포함

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

경우 DEBUG = 참된. Django docs에는 보안에 대한 몇 가지 세부 정보와 메모가 있습니다.

더 많은 것들을 커스터마이즈 할 필요가있는 경우 서브 클래스가 django.utils.log.AdminEmailHandlerdjango.views.debug.ExceptionReporter 인 로깅 핸들러를 설정할 수도 있습니다.

+0

Django의 기본 로깅 설정을 가져 와서 settings.py에서 필요한 비트를 무시하는 방법이 있습니까? 이것은 작동하지 않지만, 나는 무엇을 의미하는지 보여줍니다 :'django.conf.settings import logging LOGGING [ 'handlers'] [ 'mail_admins'] [ 'include_html'] = True' –

+0

알립니다. 그것은 : django.utils.log에서 DEFAULT_LOGGING을 LOGGING으로 가져 오기 LOGGING [ 'handlers'] [ 'mail_admins'] [ 'include_html'] = True' –

관련 문제