at main 478 B view raw
1package logging 2 3import ( 4 "log/slog" 5 "os" 6) 7 8func NewLogger(level string) *slog.Logger { 9 var logLevel slog.Level 10 11 switch level { 12 case "DEBUG": 13 logLevel = slog.LevelDebug 14 case "INFO": 15 logLevel = slog.LevelInfo 16 case "WARN": 17 logLevel = slog.LevelWarn 18 case "ERROR": 19 logLevel = slog.LevelError 20 default: 21 logLevel = slog.LevelInfo 22 } 23 24 opts := &slog.HandlerOptions{ 25 Level: logLevel, 26 } 27 28 handler := slog.NewJSONHandler(os.Stdout, opts) 29 return slog.New(handler) 30}