TinySkin/server/slog.go
thehrz 145bb045e9
Some checks failed
CI / deploy (push) Failing after 2m53s
fork from xmdhs/authlib-skin
2025-01-24 16:57:58 +08:00

28 lines
446 B
Go

package server
import (
"context"
"log/slog"
"github.com/go-chi/chi/v5/middleware"
)
type warpSlogHandle struct {
slog.Handler
}
func (w *warpSlogHandle) Handle(ctx context.Context, r slog.Record) error {
id := middleware.GetReqID(ctx)
if id != "" {
r.AddAttrs(slog.String("trackID", id))
}
return w.Handler.Handle(ctx, r)
}
func NewSlog(h slog.Handler) *slog.Logger {
l := slog.New(&warpSlogHandle{
Handler: h,
})
return l
}