github.com/AlpineAIO/wails/v2@v2.0.0-beta.32.0.20240505041856-1047a8fa5fef/pkg/logger/logger.go (about) 1 package logger 2 3 import ( 4 "fmt" 5 "strings" 6 ) 7 8 // LogLevel is an unsigned 8bit int 9 type LogLevel uint8 10 11 const ( 12 // TRACE level 13 TRACE LogLevel = 1 14 15 // DEBUG level logging 16 DEBUG LogLevel = 2 17 18 // INFO level logging 19 INFO LogLevel = 3 20 21 // WARNING level logging 22 WARNING LogLevel = 4 23 24 // ERROR level logging 25 ERROR LogLevel = 5 26 ) 27 28 var logLevelMap = map[string]LogLevel{ 29 "trace": TRACE, 30 "debug": DEBUG, 31 "info": INFO, 32 "warning": WARNING, 33 "error": ERROR, 34 } 35 36 func StringToLogLevel(input string) (LogLevel, error) { 37 result, ok := logLevelMap[strings.ToLower(input)] 38 if !ok { 39 return ERROR, fmt.Errorf("invalid log level: %s", input) 40 } 41 return result, nil 42 } 43 44 // Logger specifies the methods required to attach 45 // a logger to a Wails application 46 type Logger interface { 47 Print(message string) 48 Trace(message string) 49 Debug(message string) 50 Info(message string) 51 Warning(message string) 52 Error(message string) 53 Fatal(message string) 54 }