...

Source file src/github.com/sirupsen/logrus/example_global_hook_test.go

Documentation: github.com/sirupsen/logrus

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

View as plain text