Yimaru-BackEnd/internal/logger/logger.go
2025-03-29 06:25:19 +03:00

40 lines
717 B
Go

package customlogger
import (
"log/slog"
"os"
)
var LogLevels = map[string]slog.Level{
"debug": slog.LevelDebug,
"info": slog.LevelInfo,
"warn": slog.LevelWarn,
"error": slog.LevelError,
}
var Environment = map[string]string{
"dev": "development",
"prod": "production",
}
func NewLogger(env string, lvl slog.Level) *slog.Logger {
var logHandler slog.Handler
switch env {
case "development":
logHandler = slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{
Level: lvl,
})
default:
logHandler = slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{
Level: lvl,
})
}
logger := slog.New(logHandler).With(slog.Group(
"service_info",
slog.String("env", env),
),
)
return logger
}