Files
logger/strategy/colored.go
2025-05-09 18:32:06 +02:00

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"
}