我有一个用 Django 构建的网站。
当生产站点发生错误时,Django 会自动将堆栈跟踪发送到 settings.py 中 ADMINS 列表中列出的电子邮件地址。
我希望此堆栈跟踪包含每个堆栈帧的局部变量(就像站点处于 Debug模式时的标准堆栈跟踪一样)。
有什么想法吗?
谢谢!
最佳答案
设置起来非常简单。只需将 'include_html': True
放入为您发送错误电子邮件的任何处理程序的日志记录配置中。
例如(这是除“include_html”行之外的默认日志记录处理程序):
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false',],
'class': 'django.utils.log.AdminEmailHandler',
'include_html': True
}
}
这包括错误电子邮件中的 html 附件,其中包含当 DEBUG=True 时您获得的错误页面的内容。 Django docs有一些更多的细节和关于安全的注释。
如果需要,您还可以考虑设置一个使用 django.utils.log.AdminEmailHandler
和 django.views.debug.ExceptionReporter
子类的日志处理程序更多自定义内容。
关于python - 在 Django 错误邮件中包含局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15571499/