rentease/internal/driver/logger/log.go
Ruidy 40d2338c0f
feat(logging): add slog-based structured logging
Introduce slog-based structured logging throughout the booking service
and
server handlers. Add configurable log level via LOG_LEVEL environment
variable. Replace legacy log usage with slog and propagate logger to
booking service for improved observability.
2025-09-12 12:17:22 -04:00

30 lines
496 B
Go

package logger
import (
"log/slog"
"os"
"strings"
)
var logLevel slog.LevelVar
func getLevel(levelStr string) slog.Level {
switch strings.ToLower(levelStr) {
case "debug":
return slog.LevelDebug
case "warn":
return slog.LevelWarn
case "error":
return slog.LevelError
default:
return slog.LevelInfo
}
}
func New(levelStr string) *slog.Logger {
logLevel.Set(getLevel(levelStr))
return slog.New(slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{
Level: &logLevel,
}))
}