Django 全局log process_exception中间件

Posted 520zm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 全局log process_exception中间件相关的知识,希望对你有一定的参考价值。

class BaseResp:  # 基础的返回值类
        def __init__(self, code, msg, data):
                self.code = code
                self.msg = msg
                self.data = data if data else dict()

def json_resp(code=0, msg="成功", data=None):
        return JsonResponse(BaseResp(code, msg, data).__dict__)

# 防止项目出错, 定义的全局的try except  (中间件, 注册在最上面)
class ViewErrorMiddleware(MiddlewareMixin):
        def process_exception(self, request, exception):
                logger.warning("访问视图失败: : ".format(type(exception), exception))
                return json_resp(-13, "访问视图失败, 未知错误, 请联系管理员")

还可以通过log监控整个代码的运行

以上是关于Django 全局log process_exception中间件的主要内容,如果未能解决你的问题,请参考以下文章

django 日志记录为每个请求全局设置上下文?

在 Django 中全局存储动态变量

如何在django视图函数中使用全局变量,对所有线程有效。

如何全局禁用 Django 模板的自动转义?

Django全局静态文件未加载

Django 中的非全局中间件