set level instead of logger in middleware

This commit is contained in:
miampf 2024-01-22 14:45:36 +01:00
parent 76ada50c17
commit 7f0c697592
No known key found for this signature in database
GPG key ID: 376EAC0E5307A669

View file

@ -89,20 +89,22 @@ func middlewareLogger(l *slog.Logger) logging.Logger {
var pcs [1]uintptr
runtime.Callers(2, pcs[:]) // skip [Callers, LoggerFunc]
r := slog.Record{}
level := slog.LevelDebug
switch lvl {
case logging.LevelDebug:
r = slog.NewRecord(time.Now(), slog.LevelDebug, fmt.Sprintf(msg, fields...), pcs[0])
break
case logging.LevelInfo:
r = slog.NewRecord(time.Now(), slog.LevelInfo, fmt.Sprintf(msg, fields...), pcs[0])
level = slog.LevelInfo
case logging.LevelWarn:
r = slog.NewRecord(time.Now(), slog.LevelWarn, fmt.Sprintf(msg, fields...), pcs[0])
level = slog.LevelWarn
case logging.LevelError:
r = slog.NewRecord(time.Now(), slog.LevelError, fmt.Sprintf(msg, fields...), pcs[0])
level = slog.LevelError
default:
panic(fmt.Sprintf("unknown level %v", lvl))
}
r := slog.NewRecord(time.Now(), level, fmt.Sprintf(msg, fields...), pcs[0])
_ = l.Handler().Handle(context.Background(), r)
})
}