请求 repr() 在 Django 500 错误电子邮件中不可用:如何调试如何获取完整堆栈跟踪?

Request repr() unavailable in Django 500 error email: how do I debug how to get the full stack trace?

通常情况下,django 'mail_admins' 日志处理程序会通过电子邮件向您发送 500 条错误以及所发生情况的有用堆栈跟踪。

但出于某种原因,我收到了

的错误电子邮件
Request repr() unavailable

在邮件底部!任何人都知道如何弄清楚为什么会这样? (所以我可以获得堆栈跟踪来修复错误!)

虽然这是很久以前的问题,但这里的答案可能对以后的其他人有所帮助。通过extra传入request很重要。

logger = logging.getLogger(__name__)
logger.error(
    logging.traceback.format_exc(),
    extra={
        'status_code': 500, # or else
        'request': request
    }
)