mirror of
https://github.com/rjNemo/rentease.git
synced 2026-06-06 02:36:49 +00:00
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.
30 lines
496 B
Go
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,
|
|
}))
|
|
}
|