package middleware import ( "base-go-v2/internal/logx" "base-go-v2/internal/reponse" "base-go-v2/internal/router" "runtime/debug" ) func ErrorMiddleware() router.HandlerFunc { return func(c *router.Context) error { err := c.Next() if err != nil { stack := string(debug.Stack()) logx.Logger.Error("请求错误", logx.String("path", string(c.RequestCtx.Path())), logx.String("method", string(c.RequestCtx.Method())), logx.String("error", err.Error()), logx.String("stack", stack), ) return response.Error(c).Message(err.Error()).Send() } return nil } }