目前,我们使用django logger记录错误并向管理员发送电子邮件。你知道吗
# settings.py
'handlers': {
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
},
'applogfile': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
}
},
'loggers': {
'django': {
'handlers': ['applogfile', 'mail_admins'],
'level': 'ERROR',
},
}
我们想创建自定义用户错误页,所以我们创建了一个中间件来处理异常:
# exceptionMiddleware.py
class ExceptionMiddleware:
def process_exception(self, request, exception):
message = str(exception) if isinstance(exception, BusinessLogicException) else "Sorry, we encountered an unexpected error"
return HttpResponse( message )
这个中间件的问题是日志机制停止工作。我怎样才能得到安装在设置.py逃避例外middleware.py?你知道吗
谢谢!你知道吗
多亏了威廉的暗示,答案如下:
用“抱歉,我们遇到错误”设置自定义错误消息
然后在中间件中,只返回BusinessLogicException
相关问题 更多 >
编程相关推荐