| 9 | ) |
| 10 | |
| 11 | func TestConsoleLoggerDuplicateKeys(t *testing.T) { |
| 12 | r := bytes.NewBuffer(make([]byte, 500)) |
| 13 | logger := zerolog.New(&consoleWriter{out: r}).With().Timestamp().Logger() |
| 14 | logger.Debug().Str("test", "1234").Int("number", 45).Str("test", "5678").Msg("log message") |
| 15 | |
| 16 | event, err := r.ReadString('\n') |
| 17 | if err != nil { |
| 18 | t.Error(err) |
| 19 | } |
| 20 | |
| 21 | if !strings.Contains(event, "\"test\":\"5678\"") { |
| 22 | t.Errorf("log event missing key 'test': %s", event) |
| 23 | } |
| 24 | if !strings.Contains(event, "\"number\":45") { |
| 25 | t.Errorf("log event missing key 'number': %s", event) |
| 26 | } |
| 27 | if !strings.Contains(event, "\"time\":") { |
| 28 | t.Errorf("log event missing key 'time': %s", event) |
| 29 | } |
| 30 | if !strings.Contains(event, "\"level\":\"debug\"") { |
| 31 | t.Errorf("log event missing key 'level': %s", event) |
| 32 | } |
| 33 | } |