8
我有一个在Django中构建的网站。在Django错误电子邮件中包含本地变量
当生产站点发生错误时,Django会自动将堆栈跟踪发送到settings.py中ADMINS列表中列出的电子邮件地址。
我想这个堆栈跟踪为每个堆栈帧包含局部变量(就像站点处于调试模式时标准堆栈跟踪一样)。
任何想法?
谢谢!
我有一个在Django中构建的网站。在Django错误电子邮件中包含本地变量
当生产站点发生错误时,Django会自动将堆栈跟踪发送到settings.py中ADMINS列表中列出的电子邮件地址。
我想这个堆栈跟踪为每个堆栈帧包含局部变量(就像站点处于调试模式时标准堆栈跟踪一样)。
任何想法?
谢谢!
设置它非常简单。只要将'include_html': True
置于任何处理程序为您发送错误电子邮件的日志配置中。
例如(这是从“include_html”行默认的日志处理程序除外):
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false',],
'class': 'django.utils.log.AdminEmailHandler',
'include_html': True
}
}
这包括与错误页面内容的错误电子邮件中的HTML附件你当DEBUG =真正。 Django docs有一些关于安全性的更多细节和注释。
如果您需要定制更多东西,您还可以查看设置日志处理程序,该处理程序使用django.utils.log.AdminEmailHandler
和django.views.debug.ExceptionReporter
的子类。
有没有办法获得Django的默认日志配置,并覆盖我需要在settings.py中的位?这不起作用,但显示我的意思:'从django.conf.settings导入LOGGING LOGGING ['handlers'] ['mail_admins'] ['include_html'] = True' – 2015-04-24 11:14:45
明白了。它是:'from django.utils.log import DEFAULT_LOGGING as LOGGING LOGGING ['handlers'] ['mail_admins'] ['include_html'] = True' – 2015-04-24 12:32:49