30 lines
597 B
Go
30 lines
597 B
Go
package strategy
|
|
|
|
import (
|
|
"git.schreifuchs.ch/schreifuchs/logger"
|
|
"git.schreifuchs.ch/schreifuchs/logger/lvl"
|
|
)
|
|
|
|
func Colored(logs <-chan *logger.Log) {
|
|
for log := range logs {
|
|
println(colorize(log.Level, log.Message))
|
|
}
|
|
}
|
|
|
|
// colorize colors a string for the shell matching to its level
|
|
func colorize(l lvl.Level, str string) string {
|
|
var color string
|
|
|
|
switch l {
|
|
case lvl.Debug:
|
|
color = "\033[32m" // green
|
|
case lvl.Info:
|
|
color = "\033[97m" // white
|
|
case lvl.Warn:
|
|
color = "\033[33m" // yellow
|
|
case lvl.Error:
|
|
color = "\033[31m" // red
|
|
}
|
|
return color + str + "\033[0m"
|
|
}
|