| 317 | } |
| 318 | |
| 319 | func TestFieldsErr(t *testing.T) { |
| 320 | var err error = nil |
| 321 | out := &bytes.Buffer{} |
| 322 | log := New(out) |
| 323 | log.Log().Fields(map[string]interface{}{ |
| 324 | "nil": nil, |
| 325 | "nilerror": err, |
| 326 | "error": errors.New("some error"), |
| 327 | "loggable": loggableError{errors.New("loggable")}, |
| 328 | "non-loggable": nonLoggableError{fmt.Errorf("oops"), 401}, |
| 329 | }).Msg("") |
| 330 | if got, want := decodeIfBinaryToString(out.Bytes()), `{"error":"some error","loggable":{"l":"LOGGABLE"},"nil":null,"nilerror":null,"non-loggable":"oops"}`+"\n"; got != want { |
| 331 | t.Errorf("invalid log output:\ngot: %v\nwant: %v", got, want) |
| 332 | } |
| 333 | } |
| 334 | func TestFieldsErrs(t *testing.T) { |
| 335 | var err error = nil |
| 336 | out := &bytes.Buffer{} |