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  }