init from gitlab

This commit is contained in:
texm
2023-04-25 14:33:14 +08:00
parent 6a85a41ff0
commit c8202a5c82
281 changed files with 19861 additions and 1 deletions

View File

@@ -0,0 +1,31 @@
package middleware
import (
"github.com/labstack/echo/v4"
echoMiddleware "github.com/labstack/echo/v4/middleware"
"github.com/rs/zerolog"
"strings"
)
func logErrorFunc(logger zerolog.Logger, debug bool) echoMiddleware.LogErrorFunc {
return func(c echo.Context, err error, stack []byte) error {
event := logger.Error().Err(err)
if debug {
stacklines := strings.Split(string(stack), "\n")
funcName := strings.TrimRight(strings.SplitAfter(stacklines[5], "(0x")[0], "(0x")
callSite := strings.Trim(strings.SplitAfter(stacklines[6], " ")[0], "\t ")
event.Str("func", funcName)
event.Str("callsite", callSite)
}
event.Msg("Recovered from panic")
return nil
}
}
func Recover(debug bool) echo.MiddlewareFunc {
logger := middlewareLogger("recover")
cfg := echoMiddleware.RecoverConfig{
LogErrorFunc: logErrorFunc(logger, debug),
}
return echoMiddleware.RecoverWithConfig(cfg)
}