func TestLocalhostAddAndPrint(t *testing.T) { log := logrus.New() hook, err := NewSyslogHook("udp", "localhost:514", syslog.LOG_INFO, "") if err != nil { t.Errorf("Unable to connect to local syslog.") } log.Hooks.Add(hook) for _, level := range hook.Levels() { if len(log.Hooks[level]) != 1 { t.Errorf("SyslogHook was not added. The length of log.Hooks[%v]: %v", level, len(log.Hooks[level])) } } log.Info("Congratulations!") }
package main import ( "github.com/visenze/logrus" "gopkg.in/gemnasium/logrus-airbrake-hook.v2" ) var log = logrus.New() func init() { log.Formatter = new(logrus.TextFormatter) // default log.Hooks.Add(airbrake.NewHook(123, "xyz", "development")) } func main() { log.WithFields(logrus.Fields{ "animal": "walrus", "size": 10, }).Info("A group of walrus emerges from the ocean") log.WithFields(logrus.Fields{ "omg": true, "number": 122, }).Warn("The group's number increased tremendously!") log.WithFields(logrus.Fields{ "omg": true, "number": 100, }).Fatal("The ice breaks!") }
func getTestLogger() *logrus.Logger { l := logrus.New() l.Out = ioutil.Discard return l }