Browse Source

Don't wrap exceptions from logback appender (#8040)

Lauri Tulmin 2 years ago
parent
commit
0ef4c0beb9

+ 6 - 1
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.Span;
 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 class OpenTelemetryAppender extends UnsynchronizedAppenderBase<ILoggingEv
               } 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();
+              }
             });
   }