You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Both XcodeSeverityWriter and OSLogWriter currently use
throwable.getStackTrace().joinToString("\n")
to convert a given Throwable into a loggable String. This works, but it only includes the stack trace for throwable itself. It does not include any of the causes or suppressed exceptions nor the message of throwable.
For example a serialization error in Ktor only shows
at 0 ios_app 0x108672347 kfun:kotlin.Exception#<init>(kotlin.String?;kotlin.Throwable?){} + 143
at 1 ios_app 0x1085fdddf kfun:io.ktor.serialization.ContentConvertException#<init>(kotlin.String;kotlin.Throwable?){} + 123
at 2 ios_app 0x1085fdfa3 kfun:io.ktor.serialization.JsonConvertException#<init>(kotlin.String;kotlin.Throwable?){} + 123
at 3 ios_app 0x108601faf kfun:io.ktor.serialization.kotlinx.KotlinxSerializationConverter.$deserializeCOROUTINE$3.invokeSuspend#internal + 2771
[...]
Without the message and the cause this is essentially useless.
A much better alternative would be to use
throwable.stackTraceToString()
which includes all those details formatted into a single string.
For the above error this shows
io.ktor.serialization.JsonConvertException: Illegal input: There was an error during file or class initialization
at 0 ios_app 0x108672347 kfun:kotlin.Exception#<init>(kotlin.String?;kotlin.Throwable?){} + 143
at 1 ios_app 0x1085fdddf kfun:io.ktor.serialization.ContentConvertException#<init>(kotlin.String;kotlin.Throwable?){} + 123
at 2 ios_app 0x1085fdfa3 kfun:io.ktor.serialization.JsonConvertException#<init>(kotlin.String;kotlin.Throwable?){} + 123
at 3 ios_app 0x108601faf kfun:io.ktor.serialization.kotlinx.KotlinxSerializationConverter.$deserializeCOROUTINE$3.invokeSuspend#internal + 2771
[...]
Caused by: kotlin.native.internal.FileFailedToInitializeException: There was an error during file or class initialization
at 0 ios_app 0x1086721af kfun:kotlin.Error#<init>(kotlin.String?;kotlin.Throwable?){} + 143
at 1 ios_app 0x1086af627 kfun:kotlin.native.internal.FileFailedToInitializeException#<init>(kotlin.String?;kotlin.Throwable?){} + 143
[...]
Caused by: kotlin.IllegalArgumentException: The name of serial descriptor should uniquely identify associated serializer.
For serial name kotlin.uuid.Uuid there already exists UuidSerializer.
Please refer to SerialDescriptor documentation for additional information.
at 0 ios_app 0x108678e63 kfun:kotlin.Throwable#<init>(kotlin.String?){} + 119
at 1 ios_app 0x1086722a3 kfun:kotlin.Exception#<init>(kotlin.String?){} + 115
[...]
The text was updated successfully, but these errors were encountered:
Both
XcodeSeverityWriter
andOSLogWriter
currently usethrowable.getStackTrace().joinToString("\n")
to convert a given
Throwable
into a loggable String. This works, but it only includes the stack trace forthrowable
itself. It does not include any of thecause
s or suppressed exceptions nor the message ofthrowable
.For example a serialization error in Ktor only shows
Without the message and the
cause
this is essentially useless.A much better alternative would be to use
which includes all those details formatted into a single string.
For the above error this shows
The text was updated successfully, but these errors were encountered: