extended output + colors

This commit is contained in:
nquidox 2026-02-21 16:58:43 +03:00
parent 81213c67f8
commit 150c5193e1

View file

@ -41,8 +41,43 @@ func (f *CustomFormatter) Format(entry *logrus.Entry) ([]byte, error) {
line = entry.Caller.Line
}
logLine := fmt.Sprintf("[%s][%s][%s:%d] %s\n",
level, timestamp, file, line, msg)
colorCode := f.getLevelColor(entry.Level)
resetCode := "\033[0m"
coloredLevel := fmt.Sprintf("%s[%s]%s", colorCode, level, resetCode)
errVal := entry.Data["error"]
if errVal == nil {
errVal = "\n"
} else {
errVal = fmt.Sprintf("---%v\n\n", errVal)
}
cyanCode := f.getLevelColor(logrus.TraceLevel)
filename := fmt.Sprintf("%s[%s:%d]%s", cyanCode, file, line, resetCode)
logLine := fmt.Sprintf("%s[%s]%v %s\n%v",
coloredLevel, timestamp, filename, msg, errVal)
return []byte(logLine), nil
}
func (f *CustomFormatter) getLevelColor(level logrus.Level) string {
switch level {
case logrus.PanicLevel:
return "\033[35m" // Magenta
case logrus.FatalLevel:
return "\033[35m" // Magenta
case logrus.ErrorLevel:
return "\033[31m" // Red
case logrus.WarnLevel:
return "\033[33m" // Yellow
case logrus.InfoLevel:
return "\033[32m" // Green
case logrus.DebugLevel:
return "\033[34m" // Blue
case logrus.TraceLevel:
return "\033[36m" // Cyan
default:
return "\033[0m" // No color
}
}