package logrus_test import ( "os" "github.com/sirupsen/logrus" ) type DefaultFieldHook struct { GetValue func() string } func (h *DefaultFieldHook) Levels() []logrus.Level { return logrus.AllLevels } func (h *DefaultFieldHook) Fire(e *logrus.Entry) error { e.Data["aDefaultField"] = h.GetValue() return nil } func ExampleDefaultFieldHook() { l := logrus.New() l.Out = os.Stdout l.Formatter = &logrus.TextFormatter{DisableTimestamp: true, DisableColors: true} l.AddHook(&DefaultFieldHook{GetValue: func() string { return "with its default value" }}) l.Info("first log") // Output: // level=info msg="first log" aDefaultField="with its default value" }