package errors import ( "allapp-go/internal/httpx" "allapp-go/pkg/logger" "errors" "fmt" "github.com/gofiber/fiber/v3" "go.uber.org/zap" ) func ErrorHandler() fiber.ErrorHandler { return func(c fiber.Ctx, err error) error { code := fiber.StatusInternalServerError msg := "系统异常,请稍后再试!" var e *fiber.Error if errors.As(err, &e) { code = e.Code msg = e.Message } logger.FromCtx(c.Context()).Error("HTTP 请求异常", zap.Int("status", code), zap.String("error", fmt.Sprintf("%+v", err)), ) return httpx.SystemError(c, msg) } }