Files
sablier/pkg/sabliercmd/logger.go
Alexis Couvreur 0f4a3a2e93 refactor: add sabliercmd pkg (#727)
This will enable doc generation
2025-11-13 20:18:57 -05:00

41 lines
847 B
Go

package sabliercmd
import (
"log/slog"
"os"
"strings"
"time"
"github.com/lmittmann/tint"
"github.com/sablierapp/sablier/pkg/config"
)
func setupLogger(config config.Logging) *slog.Logger {
w := os.Stderr
level := parseLogLevel(config.Level)
// create a new logger
logger := slog.New(tint.NewHandler(w, &tint.Options{
Level: level,
TimeFormat: time.Kitchen,
AddSource: true,
}))
return logger
}
func parseLogLevel(level string) slog.Level {
switch strings.ToUpper(level) {
case slog.LevelDebug.String():
return slog.LevelDebug
case slog.LevelInfo.String():
return slog.LevelInfo
case slog.LevelWarn.String():
return slog.LevelWarn
case slog.LevelError.String():
return slog.LevelError
default:
slog.Warn("invalid log level, defaulting to info", slog.String("level", level))
return slog.LevelInfo
}
}