This repository has no description
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253package logging
import ( "log/slog" "os" "strings" "sync")
type Logger = *slog.Logger
var ( once sync.Once logger *slog.Logger logLevel = &slog.LevelVar{})
func Get() Logger { Init() return logger}
func InitTextLogger() { once.Do(func() { logLevel.Set(slog.LevelInfo) h := NewCliHandler(os.Stdout, logLevel) logger = slog.New(h) })}
func Init() { once.Do(func() { logLevel.Set(slog.LevelInfo) h := slog.NewJSONHandler(os.Stdout, &slog.HandlerOptions{Level: slog.LevelError}) logger = slog.New(h) })}
func SetLevel(s string) { switch strings.ToLower(s) { case "debug": logLevel.Set(slog.LevelDebug) case "info": logLevel.Set(slog.LevelInfo) case "warn", "warning": logLevel.Set(slog.LevelWarn) case "error": logLevel.Set(slog.LevelError) default: logLevel.Set(slog.LevelInfo) }}