// Package easy allows to easily format output of Logrus logger package easy import ( "bytes" "fmt" "github.com/sirupsen/logrus" ) // Formatter implements logrus.Formatter interface. type Formatter struct{} func (f *Formatter) shortLevel(level logrus.Level) string { switch level { case logrus.DebugLevel: return "DEBU" case logrus.InfoLevel: return "INFO" case logrus.WarnLevel: return "WARN" case logrus.ErrorLevel: return "ERRO" case logrus.FatalLevel: return "FATAL" case logrus.PanicLevel: return "PANIC" } return "INFO" } // Format building log message. func (f *Formatter) Format(entry *logrus.Entry) ([]byte, error) { var builder bytes.Buffer builder.WriteString("[") builder.WriteString(f.shortLevel(entry.Level)) builder.WriteString("]") builder.WriteString(" [") builder.WriteString(entry.Time.Format("2006-01-02 15:04:05.000")) builder.WriteString("]") for k, val := range entry.Data { builder.WriteString(fmt.Sprintf(" %s=%v", k, val)) } return builder.Bytes(), nil }