package log_mw import ( "github.com/gofiber/fiber/v2" "gitea.pena/PenaSide/hlog" ) const HlogCtxKey string = "logger" func ContextLogger(logger hlog.Logger) fiber.Handler { return func(c *fiber.Ctx) error { c.Locals(HlogCtxKey, logger.With(map[string]string{ "ctxuserip": c.Get("X-Real-IP"), "ctxuserport": c.Get("X-Client-Port"), "keydomain": c.Get("Origin"), "keypath": c.Path(), })) return c.Next() } } func ExtractLogger(ctx *fiber.Ctx) hlog.Logger { logger := ctx.Context().UserValue(HlogCtxKey).(hlog.Logger) return logger }