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

Commit 518c55f

Browse files
authored
Add breadcrumbs support for WriteLevel
In 3f53baa we've added Breadcrumb support for Write function. This makes sure we have the same for WriteLevel.
1 parent a41ff05 commit 518c55f

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

writer.go

+16-9
Original file line numberDiff line numberDiff line change
@@ -91,19 +91,26 @@ func (w *Writer) Write(data []byte) (n int, err error) {
9191
// implements zerolog.LevelWriter
9292
func (w *Writer) WriteLevel(level zerolog.Level, p []byte) (n int, err error) {
9393
n = len(p)
94-
if _, enabled := w.levels[level]; !enabled {
94+
95+
event, ok := w.parseLogEvent(p)
96+
if !ok {
97+
return
98+
}
99+
event.Level, ok = levelsMapping[level]
100+
if !ok {
95101
return
96102
}
97103

98-
event, ok := w.parseLogEvent(p)
99-
event.Level = levelsMapping[level]
104+
if _, enabled := w.levels[level]; !enabled {
105+
// if the level is not enabled, add event as a breadcrumb
106+
w.addBreadcrumb(event)
107+
return
108+
}
100109

101-
if ok {
102-
w.hub.CaptureEvent(event)
103-
// should flush before os.Exit
104-
if event.Level == sentry.LevelFatal {
105-
w.hub.Flush(w.flushTimeout)
106-
}
110+
w.hub.CaptureEvent(event)
111+
// should flush before os.Exit
112+
if event.Level == sentry.LevelFatal {
113+
w.hub.Flush(w.flushTimeout)
107114
}
108115
return
109116
}

0 commit comments

Comments
 (0)