Skip to content

Commit b00bf82

Browse files
committed
change exception logging when running in maven
1 parent 58acb53 commit b00bf82

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkBuilder.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ public final class AutoConfiguredOpenTelemetrySdkBuilder implements AutoConfigur
6060
private static final Logger logger =
6161
Logger.getLogger(AutoConfiguredOpenTelemetrySdkBuilder.class.getName());
6262
private static final boolean INCUBATOR_AVAILABLE;
63+
private static final Boolean IS_MAVEN;
6364

6465
static {
6566
boolean incubatorAvailable = false;
@@ -73,6 +74,7 @@ public final class AutoConfiguredOpenTelemetrySdkBuilder implements AutoConfigur
7374
// Not available
7475
}
7576
INCUBATOR_AVAILABLE = incubatorAvailable;
77+
IS_MAVEN = System.getProperty("maven.home") != null;
7678
}
7779

7880
@Nullable private ConfigProperties config;
@@ -629,7 +631,19 @@ private ConfigProperties computeConfigProperties() {
629631

630632
// Visible for testing
631633
Thread shutdownHook(OpenTelemetrySdk sdk) {
632-
return new Thread(sdk::close);
634+
return new Thread(
635+
() -> {
636+
try {
637+
sdk.close();
638+
} catch (NoClassDefFoundError e) {
639+
if (IS_MAVEN) {
640+
// do something useful
641+
logger.log(Level.WARNING, "Flush failed during shutdown", e);
642+
return;
643+
}
644+
throw e;
645+
}
646+
});
633647
}
634648

635649
private static <I, O1, O2> BiFunction<I, ConfigProperties, O2> mergeCustomizer(

0 commit comments

Comments
 (0)