@@ -27,6 +27,12 @@ public class SentryReporter private constructor(
2727 options.addInAppInclude(focus.focusedPackage)
2828 options.enableUncaughtExceptionHandler = false
2929 integrations.forEach(options::addIntegration)
30+ options.addEventProcessor { event, _ ->
31+ fields.asSequence()
32+ .filter(ReportField ::show)
33+ .forEach { event.setExtra(it.name, it.value) }
34+ event
35+ }
3036 }
3137
3238 Sentry .configureScope { scope ->
@@ -41,20 +47,17 @@ public class SentryReporter private constructor(
4147 }
4248
4349 override fun report (message : String , exception : Exception , async : Boolean ) {
44- val sentryMessage = Message ().apply {
45- formatted = message
46- }
50+ val exceptionData = ExceptionData (exception)
51+ handlers.beforeReport(message, exceptionData)
4752
4853 val event = SentryEvent (exception).apply {
49- setMessage(sentryMessage)
50- fields.asSequence()
51- .filter(ReportField ::show)
52- .forEach { setExtra(it.name, it.value) }
54+ setMessage(Message ().apply {
55+ formatted = message
56+ })
5357 }
5458 Sentry .captureEvent(event)
5559
5660 // We can't track errors on error sending. So we just assume that report was sent successfully.
57- val exceptionData = ExceptionData (exception)
5861 handlers.onSuccess(message, exceptionData)
5962 }
6063
0 commit comments