Skip to content

Commit

Permalink
Fix "class ch.qos.logback.classic.spi.ThrowableProxyVO cannot be cast…
Browse files Browse the repository at this point in the history
… to class ch.qos.logback.classic.spi.ThrowableProxy"

15:44:34,110 |-ERROR in io.sentry.logback.SentryAppender[SENTRY_ORIGINAL] - Appender [SENTRY_ORIGINAL] failed to append. java.lang.ClassCastException: class ch.qos.logback.classic.spi.ThrowableProxyVO cannot be cast to class ch.qos.logback.classic.spi.ThrowableProxy (ch.qos.logback.classic.spi.ThrowableProxyVO and ch.qos.logback.classic.spi.ThrowableProxy are in unnamed module of loader 'app')
	at java.lang.ClassCastException: class ch.qos.logback.classic.spi.ThrowableProxyVO cannot be cast to class ch.qos.logback.classic.spi.ThrowableProxy (ch.qos.logback.classic.spi.ThrowableProxyVO and ch.qos.logback.classic.spi.ThrowableProxy are in unnamed module of loader 'app')
	at 	at io.sentry.logback.SentryAppender.createEvent(SentryAppender.java:113)
	at 	at io.sentry.logback.SentryAppender.append(SentryAppender.java:80)
	at 	at io.sentry.logback.SentryAppender.append(SentryAppender.java:41)
	at 	at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:85)
	at 	at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
	at 	at io.opentelemetry.instrumentation.logback.mdc.v1_0.OpenTelemetryAppender.append(OpenTelemetryAppender.java:111)
	at 	at io.opentelemetry.instrumentation.logback.mdc.v1_0.OpenTelemetryAppender.append(OpenTelemetryAppender.java:30)
	at 	at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:85)
	at 	at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
	at 	at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:272)
	at 	at ch.qos.logback.classic.Logger.callAppenders(Logger.java:259)
	at 	at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:426)
	at 	at ch.qos.logback.classic.Logger.filterAndLog_2(Logger.java:419)
	at 	at ch.qos.logback.classic.Logger.error(Logger.java:535)
	at 	at io.micronaut.runtime.Micronaut.handleStartupException(Micronaut.java:343)
	at 	at io.micronaut.runtime.Micronaut.start(Micronaut.java:173)
	at 	at io.micronaut.runtime.Micronaut.run(Micronaut.java:328)
	at 	at io.micronaut.runtime.Micronaut.run(Micronaut.java:314)
  • Loading branch information
donbeave committed Feb 24, 2025
1 parent e5e95de commit a25e099
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions sentry-logback/src/main/java/io/sentry/logback/SentryAppender.java
Original file line number Diff line number Diff line change
Expand Up @@ -110,14 +110,16 @@ protected void append(@NotNull ILoggingEvent eventObject) {
event.setLogger(loggingEvent.getLoggerName());
event.setLevel(formatLevel(loggingEvent.getLevel()));

final ThrowableProxy throwableInformation = (ThrowableProxy) loggingEvent.getThrowableProxy();
if (throwableInformation != null) {
final Mechanism mechanism = new Mechanism();
mechanism.setType(MECHANISM_TYPE);
final Throwable mechanismException =
new ExceptionMechanismException(
mechanism, throwableInformation.getThrowable(), Thread.currentThread());
event.setThrowable(mechanismException);
if (loggingEvent.getThrowableProxy() instanceof ThrowableProxy) {
final ThrowableProxy throwableInformation = (ThrowableProxy) loggingEvent.getThrowableProxy();
if (throwableInformation != null) {
final Mechanism mechanism = new Mechanism();
mechanism.setType(MECHANISM_TYPE);
final Throwable mechanismException =
new ExceptionMechanismException(
mechanism, throwableInformation.getThrowable(), Thread.currentThread());
event.setThrowable(mechanismException);
}
}

if (loggingEvent.getThreadName() != null) {
Expand Down

0 comments on commit a25e099

Please sign in to comment.