getsentry / sentry-unity

Development of Sentry SDK for Unity
https://docs.sentry.io/platforms/unity/
MIT License
192 stars 50 forks source link

Split logging integration from error capturing #1608

Open bitsandfoxes opened 1 month ago

bitsandfoxes commented 1 month ago

We switched from hooking into Application.logMessageReceived to setting ourselves up as a loghandler via Debug.unitylogger.logHandler = this; This also means that we have to format the message ourselves which has a non-insignificant impact on performance

bitsandfoxes commented 2 weeks ago

We switched from Application.logMessageReceived to Debug.unitylogger.logHandler to get access to the actual exception object to hand that to the IL2CPP backend to provide line number support for caught and uncaught exceptions. We previously had our own string parsing functionality to turn the string stacktrace into a SentryStacktrace.

Maybe we can split this into two? Keep relying on the unitylogger for actual exceptions but set up the Application.logMessageReceived so that messages at least get a stacktrace (even without linenumbers for now). What do you think @munkiki7?

munkiki7 commented 2 weeks ago

@bitsandfoxes , if Debug.unitylogger.logHandler is only actually useful for getting the exception, and is heavier in performance, then sure, we can only use it in that one place.