authorizer/server/logs/text.go

31 lines
845 B
Go
Raw Normal View History

2024-01-22 12:02:22 +00:00
func (u LogTextFormatter) Format(e *logrus.Entry) ([]byte, error) {
2024-03-02 09:55:46 +00:00
level := strings.ToUpper(e.Level.String())
message := e.Message
2024-03-02 10:41:23 +00:00
parts := strings.SplitN(message, " +0000]", 2)
2024-03-02 10:46:58 +00:00
if len(parts) >= 2 {
message = parts[1]
}
2024-03-02 09:55:46 +00:00
2024-03-02 10:28:20 +00:00
var color string
switch e.Level {
case logrus.DebugLevel:
color = "\033[36m" // cyan
case logrus.InfoLevel:
2024-03-02 10:34:00 +00:00
color = "\033[37m" // grey
2024-03-02 10:28:20 +00:00
case logrus.WarnLevel:
color = "\033[33m" // yellow
case logrus.ErrorLevel, logrus.FatalLevel, logrus.PanicLevel:
color = "\033[31m" // red
default:
color = "\033[0m" // reset
}
2024-03-02 10:22:19 +00:00
if e.Caller != nil {
file := filepath.Base(e.Caller.File)
line := e.Caller.Line
2024-03-02 10:28:20 +00:00
return []byte(fmt.Sprintf("%s[%s] %s:%d %s%s\033[0m\n", color, level, file, line, message, color)), nil
2024-03-02 10:22:19 +00:00
}
2024-03-02 10:28:20 +00:00
return []byte(fmt.Sprintf("%s[%s] %s%s\033[0m\n", color, level, message, color)), nil
2024-01-22 12:02:22 +00:00
}