| package logrus |
| |
| import ( |
| "bytes" |
| "encoding/json" |
| "fmt" |
| "testing" |
| |
| "github.com/stretchr/testify/require" |
| ) |
| |
| func TestFieldValueError(t *testing.T) { |
| buf := &bytes.Buffer{} |
| l := &Logger{ |
| Out: buf, |
| Formatter: new(JSONFormatter), |
| Hooks: make(LevelHooks), |
| Level: DebugLevel, |
| } |
| l.WithField("func", func() {}).Info("test") |
| fmt.Println(buf.String()) |
| var data map[string]interface{} |
| json.Unmarshal(buf.Bytes(), &data) |
| _, ok := data[FieldKeyLogrusError] |
| require.True(t, ok) |
| } |
| |
| func TestNoFieldValueError(t *testing.T) { |
| buf := &bytes.Buffer{} |
| l := &Logger{ |
| Out: buf, |
| Formatter: new(JSONFormatter), |
| Hooks: make(LevelHooks), |
| Level: DebugLevel, |
| } |
| l.WithField("str", "str").Info("test") |
| fmt.Println(buf.String()) |
| var data map[string]interface{} |
| json.Unmarshal(buf.Bytes(), &data) |
| _, ok := data[FieldKeyLogrusError] |
| require.False(t, ok) |
| } |