func TestLogger_Trace_info(t *testing.T) { h := memory.New() l := &log.Logger{ Handler: h, Level: log.InfoLevel, } func() (err error) { defer l.WithField("file", "sloth.png").Trace("upload").Stop(&err) return nil }() assert.Equal(t, 2, len(h.Entries)) { e := h.Entries[0] assert.Equal(t, e.Message, "upload") assert.Equal(t, e.Level, log.InfoLevel) assert.Equal(t, log.Fields{"file": "sloth.png"}, e.Fields) } { e := h.Entries[1] assert.Equal(t, e.Message, "upload") assert.Equal(t, e.Level, log.InfoLevel) assert.Equal(t, "sloth.png", e.Fields["file"]) assert.IsType(t, time.Duration(0), e.Fields["duration"]) } }
func TestFielder(t *testing.T) { h := memory.New() log.SetHandler(h) pet := &Pet{"Tobi", 3} log.WithFields(pet).Info("add pet") e := h.Entries[0] assert.Equal(t, log.Fields{"name": "Tobi", "age": 3}, e.Fields) }
func TestInfo(t *testing.T) { h := memory.New() log.SetHandler(h) log.Infof("logged in %s", "Tobi") e := h.Entries[0] assert.Equal(t, e.Message, "logged in Tobi") assert.Equal(t, e.Level, log.InfoLevel) }
func TestLogger_printf(t *testing.T) { h := memory.New() l := &log.Logger{ Handler: h, Level: log.InfoLevel, } l.Infof("logged in %s", "Tobi") e := h.Entries[0] assert.Equal(t, e.Message, "logged in Tobi") assert.Equal(t, e.Level, log.InfoLevel) }
func TestLogger_levels(t *testing.T) { h := memory.New() l := &log.Logger{ Handler: h, Level: log.InfoLevel, } l.Debug("uploading") l.Info("upload complete") assert.Equal(t, 1, len(h.Entries)) e := h.Entries[0] assert.Equal(t, e.Message, "upload complete") assert.Equal(t, e.Level, log.InfoLevel) }
func TestLogger_HandlerFunc(t *testing.T) { h := memory.New() f := func(e *log.Entry) error { return h.HandleLog(e) } l := &log.Logger{ Handler: log.HandlerFunc(f), Level: log.InfoLevel, } l.Infof("logged in %s", "Tobi") e := h.Entries[0] assert.Equal(t, e.Message, "logged in Tobi") assert.Equal(t, e.Level, log.InfoLevel) }
func TestLogger_WithField(t *testing.T) { h := memory.New() l := &log.Logger{ Handler: h, Level: log.InfoLevel, } ctx := l.WithField("file", "sloth.png").WithField("user", "Tobi") ctx.Debug("uploading") ctx.Info("upload complete") assert.Equal(t, 1, len(h.Entries)) e := h.Entries[0] assert.Equal(t, e.Message, "upload complete") assert.Equal(t, e.Level, log.InfoLevel) assert.Equal(t, log.Fields{"file": "sloth.png", "user": "******"}, e.Fields) }