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

Commit b3fae06

Browse files
committed
feat: Set sentry event extra attributes from the additional fields in zerolog data
1 parent b5935f0 commit b3fae06

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

Diff for: 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

Diff for: 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)