diff --git a/instrumentation/spring/spring-boot-resources/library/src/main/java/io/opentelemetry/instrumentation/spring/resources/SpringBootBuildInfoDetector.java b/instrumentation/spring/spring-boot-resources/library/src/main/java/io/opentelemetry/instrumentation/spring/resources/SpringBootBuildInfoDetector.java index 667005129a91..2b893bf44a2d 100644 --- a/instrumentation/spring/spring-boot-resources/library/src/main/java/io/opentelemetry/instrumentation/spring/resources/SpringBootBuildInfoDetector.java +++ b/instrumentation/spring/spring-boot-resources/library/src/main/java/io/opentelemetry/instrumentation/spring/resources/SpringBootBuildInfoDetector.java @@ -6,6 +6,7 @@ package io.opentelemetry.instrumentation.spring.resources; import static java.util.logging.Level.FINE; +import static java.util.logging.Level.WARNING; import io.opentelemetry.api.common.AttributeKey; import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties; @@ -60,20 +61,17 @@ public Resource createResource(ConfigProperties config) { protected Optional getPropertiesFromBuildInfo() { try (InputStream in = system.openClasspathResource("META-INF", "build-info.properties")) { - return in != null ? getPropertiesFromStream(in) : Optional.empty(); + return in != null ? Optional.of(getPropertiesFromStream(in)) : Optional.empty(); } catch (Exception e) { + logger.log(WARNING, "Failed to read build-info.properties", e); return Optional.empty(); } } - private static Optional getPropertiesFromStream(InputStream in) { + private static Properties getPropertiesFromStream(InputStream in) throws IOException { Properties properties = new Properties(); - try { - // Note: load() uses ISO 8859-1 encoding, same as spring uses by default for property files - properties.load(in); - return Optional.of(properties); - } catch (IOException e) { - return Optional.empty(); - } + // Note: load() uses ISO 8859-1 encoding, same as spring uses by default for property files + properties.load(in); + return properties; } }