Skip to content
This repository was archived by the owner on Dec 30, 2024. It is now read-only.

Commit 3ce76d4

Browse files
authored
Merge pull request #4 from partizaans/feat/fields-as-extra
Pass zerolog Fields as Sentry event additional data
2 parents b5935f0 + b3fae06 commit 3ce76d4

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

writer.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -79,18 +79,21 @@ func (w *Writer) parseLogEvent(data []byte) (*sentry.Event, bool) {
7979
Timestamp: now(),
8080
Level: sentryLvl,
8181
Logger: logger,
82+
Extra: map[string]interface{}{},
8283
}
8384

8485
err = jsonparser.ObjectEach(data, func(key, value []byte, vt jsonparser.ValueType, offset int) error {
8586
switch string(key) {
86-
// case zerolog.LevelFieldName, zerolog.TimestampFieldName:
8787
case zerolog.MessageFieldName:
8888
event.Message = bytesToStrUnsafe(value)
8989
case zerolog.ErrorFieldName:
9090
event.Exception = append(event.Exception, sentry.Exception{
9191
Value: bytesToStrUnsafe(value),
9292
Stacktrace: newStacktrace(),
9393
})
94+
case zerolog.LevelFieldName, zerolog.TimestampFieldName:
95+
default:
96+
event.Extra[string(key)] = bytesToStrUnsafe(value)
9497
}
9598

9699
return nil

writer_test.go

+3
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ func TestParseLogEvent(t *testing.T) {
3030

3131
require.Len(t, ev.Exception, 1)
3232
assert.Equal(t, "dial timeout", ev.Exception[0].Value)
33+
34+
require.Len(t, ev.Extra, 1)
35+
assert.Equal(t, "bee07485-2485-4f64-99e1-d10165884ca7", ev.Extra["requestId"])
3336
}
3437

3538
func BenchmarkParseLogEvent(b *testing.B) {

0 commit comments

Comments
 (0)