Files
DockerBot/internal/logger/logger.go
2026-04-13 21:42:04 +02:00

43 lines
757 B
Go

package logger
import (
"log/slog"
"os"
"strings"
)
// Logger envuelve slog.Logger
type Logger struct {
*slog.Logger
}
func (l *Logger) Fatalf(s string, err error) {
panic("unimplemented")
}
// parseLevel convierte string → slog.Level
func parseLevel(level string) slog.Level {
switch strings.ToUpper(level) {
case "DEBUG":
return slog.LevelDebug
case "INFO":
return slog.LevelInfo
case "WARN", "WARNING":
return slog.LevelWarn
case "ERROR":
return slog.LevelError
default:
return slog.LevelInfo
}
}
func New(level string, service string) *Logger {
handler := slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{
Level: parseLevel(level),
})
base := slog.New(handler).With(
"service", service,
)
return &Logger{base}
}