python - 在 Django 错误邮件中包含局部变量

标签 python django error-handling stack-trace

我有一个用 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.AdminEmailHandlerdjango.views.debug.ExceptionReporter 子类的日志处理程序更多自定义内容。

关于python - 在 Django 错误邮件中包含局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15571499/

相关文章:

python - Django - 尾部斜杠重置页面标题

python - Django 全局过滤器

java - 安卓错误: Unable To Start Activity

php - 如何有效处理业务逻辑错误?

forms - 文本框文本更改事件 VBA 表单出错

python - 未传递参数时引发类异常或类异常实例

python - 让 virtualenv 从你的全局站点包中继承特定的包

python - 无法捕获 python EOFError

python - 子进程无法捕获 STDOUT - 程序可能在做什么?

Django,表单字段的唯一ID