cli + tui to publish to leaflet (wip) & manage tasks, notes & watch/read lists 馃崈
charm leaflet readability golang
29
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 7da458848ced66d8eab8b2e86c031c8dc4e0e6fc 47 lines 963 B view raw
1package utils 2 3import ( 4 "os" 5 "strings" 6 7 "github.com/charmbracelet/log" 8) 9 10// Logger is the global application logger 11var Logger *log.Logger 12 13// NewLogger creates a new logger with the specified level and format 14func NewLogger(level string, format string) *log.Logger { 15 logger := log.New(os.Stderr) 16 17 switch strings.ToLower(level) { 18 case "debug": 19 logger.SetLevel(log.DebugLevel) 20 case "info": 21 logger.SetLevel(log.InfoLevel) 22 case "warn", "warning": 23 logger.SetLevel(log.WarnLevel) 24 case "error": 25 logger.SetLevel(log.ErrorLevel) 26 default: 27 logger.SetLevel(log.InfoLevel) 28 } 29 30 // Set format 31 if format == "json" { 32 logger.SetFormatter(log.JSONFormatter) 33 } else { 34 logger.SetFormatter(log.TextFormatter) 35 logger.SetReportTimestamp(true) 36 } 37 38 return logger 39} 40 41// GetLogger returns the global logger, creating a default one if it doesn't exist 42func GetLogger() *log.Logger { 43 if Logger == nil { 44 Logger = NewLogger("info", "text") 45 } 46 return Logger 47}