package middleware import ( "github.com/gogf/gf/v2/errors/gerror" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/os/gctx" ) // ErrorHandler 全局处理获取异常错误 func ErrorHandler(r *ghttp.Request) { r.Middleware.Next() if err := r.GetError(); err != nil { // 记录到自定义错误日志文件 g.Log().Error(gctx.New(), err) //返回固定的友好信息 var ( code = gerror.Code(err) ) r.Response.ClearBuffer() r.Response.WriteJson(DefaultHandlerResponse{ Code: code.Code(), Message: "The server went astray. Please try again later: " + err.Error(), Data: nil, }) } }