diff --git a/instrumentation/logback/logback-mdc-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/mdc/v1_0/OpenTelemetryAppender.java b/instrumentation/logback/logback-mdc-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/mdc/v1_0/OpenTelemetryAppender.java index 026c5ba9e2f9..d5e0378ab48e 100644 --- a/instrumentation/logback/logback-mdc-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/mdc/v1_0/OpenTelemetryAppender.java +++ b/instrumentation/logback/logback-mdc-1.0/library/src/main/java/io/opentelemetry/instrumentation/logback/mdc/v1_0/OpenTelemetryAppender.java @@ -20,6 +20,7 @@ import io.opentelemetry.api.trace.SpanContext; import io.opentelemetry.context.Context; import io.opentelemetry.instrumentation.logback.mdc.v1_0.internal.UnionMap; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Proxy; import java.util.HashMap; import java.util.Iterator; @@ -92,7 +93,11 @@ public ILoggingEvent wrapEvent(ILoggingEvent event) { } else if ("getLoggerContextVO".equals(method.getName())) { return vo; } - return method.invoke(event, args); + try { + return method.invoke(event, args); + } catch (InvocationTargetException exception) { + throw exception.getCause(); + } }); }