1package logrus_test 2 3import ( 4 "os" 5 6 "github.com/sirupsen/logrus" 7) 8 9type DefaultFieldHook struct { 10 GetValue func() string 11} 12 13func (h *DefaultFieldHook) Levels() []logrus.Level { 14 return logrus.AllLevels 15} 16 17func (h *DefaultFieldHook) Fire(e *logrus.Entry) error { 18 e.Data["aDefaultField"] = h.GetValue() 19 return nil 20} 21 22func ExampleDefaultFieldHook() { 23 l := logrus.New() 24 l.Out = os.Stdout 25 l.Formatter = &logrus.TextFormatter{DisableTimestamp: true, DisableColors: true} 26 27 l.AddHook(&DefaultFieldHook{GetValue: func() string { return "with its default value" }}) 28 l.Info("first log") 29 // Output: 30 // level=info msg="first log" aDefaultField="with its default value" 31} 32