forked from mirror/logrus
32 lines
667 B
Go
32 lines
667 B
Go
package logrus_test
|
|
|
|
import (
|
|
"os"
|
|
|
|
"git.internal/re/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"
|
|
}
|