45 lines
653 B
Go
45 lines
653 B
Go
package lvl
|
|
|
|
type Level int
|
|
|
|
const (
|
|
Debug Level = iota
|
|
Info
|
|
Warn
|
|
Error
|
|
)
|
|
|
|
// String makes the Level to a string
|
|
func (l Level) String() string {
|
|
switch l {
|
|
case Debug:
|
|
return "Debug"
|
|
case Info:
|
|
return "Info"
|
|
case Warn:
|
|
return "Warn"
|
|
case Error:
|
|
return "Error"
|
|
}
|
|
return "Undefined"
|
|
|
|
}
|
|
|
|
// Colorize colors a string for the shell matching to its level
|
|
func (l Level) Colorize(str string) string {
|
|
var color string
|
|
|
|
switch l {
|
|
case Debug:
|
|
color = "\033[32m" // green
|
|
case Info:
|
|
color = "\033[97m" // white
|
|
case Warn:
|
|
color = "\033[33m" // yellow
|
|
case Error:
|
|
color = "\033[31m" // red
|
|
}
|
|
return color + str + "\033[0m"
|
|
|
|
}
|