package logging import ( "log/slog" "os" "strings" ) func parseLevel(s string) slog.Level { s = strings.ToUpper(strings.TrimSpace(s)) switch s { case "TRACE": return slog.LevelDebug 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 } } // Init initializes a global logger and returns it. Level is a string like "INFO" or "DEBUG". func Init(level string) *slog.Logger { lvl := parseLevel(level) handler := slog.NewTextHandler(os.Stderr, &slog.HandlerOptions{AddSource: false, Level: lvl}) return slog.New(handler) }