Tips

  • logrus 设置自定义 formatter, 添加预设字段
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import "github.com/sirupsen/logrus"

var (
	L *logrus.Logger
)

type customLogger struct {
	formatter logrus.Formatter
	domain    string
}

func (l *customLogger) Format(entry *logrus.Entry) ([]byte, error) {
	entry.Data["domain"] = l.domain
	return l.formatter.Format(entry)
}

func main() {
	L = logrus.New()
	L.SetLevel(logrus.InfoLevel)
	L.SetFormatter(&customLogger{
		formatter: &logrus.JSONFormatter{},
		domain:    "custom domain",
	})

    L.Info("this msg")
}
//{"domain":"custom-domain","level":"info","msg":"this msg","time":"2023-04-27T14:59:45+08:00"}

参考链接