github.com/saferwall/pe@v1.5.2/log/level.go (about) 1 package log 2 3 import "strings" 4 5 // Level is a logger level. 6 type Level int8 7 8 // LevelKey is logger level key. 9 const LevelKey = "level" 10 11 const ( 12 // LevelDebug is logger debug level. 13 LevelDebug Level = iota - 1 14 // LevelInfo is logger info level. 15 LevelInfo 16 // LevelWarn is logger warn level. 17 LevelWarn 18 // LevelError is logger error level. 19 LevelError 20 // LevelFatal is logger fatal level 21 LevelFatal 22 ) 23 24 func (l Level) String() string { 25 switch l { 26 case LevelDebug: 27 return "DEBUG" 28 case LevelInfo: 29 return "INFO" 30 case LevelWarn: 31 return "WARN" 32 case LevelError: 33 return "ERROR" 34 case LevelFatal: 35 return "FATAL" 36 default: 37 return "" 38 } 39 } 40 41 // ParseLevel parses a level string into a logger Level value. 42 func ParseLevel(s string) Level { 43 switch strings.ToUpper(s) { 44 case "DEBUG": 45 return LevelDebug 46 case "INFO": 47 return LevelInfo 48 case "WARN": 49 return LevelWarn 50 case "ERROR": 51 return LevelError 52 case "FATAL": 53 return LevelFatal 54 } 55 return LevelInfo 56 }