From c75a1c1376c5e839c6d252c71eee0e0af3bf7651 Mon Sep 17 00:00:00 2001 From: Jean Bisutti Date: Thu, 1 Dec 2022 15:39:09 +0100 Subject: [PATCH] Add environment variables and system properties to the self-diagnostics (#2737) --- .../agent/internal/init/FirstEntryPoint.java | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/FirstEntryPoint.java b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/FirstEntryPoint.java index 39be2af846c..50115195ed7 100644 --- a/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/FirstEntryPoint.java +++ b/agent/agent-tooling/src/main/java/com/microsoft/applicationinsights/agent/internal/init/FirstEntryPoint.java @@ -32,6 +32,7 @@ import java.lang.management.RuntimeMXBean; import java.nio.charset.StandardCharsets; import java.nio.file.Path; +import java.util.Properties; import javax.annotation.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -101,9 +102,18 @@ public void init() { } if (startupLogger.isDebugEnabled()) { - startupLogger.debug("OS: " + System.getProperty("os.name")); - logJavaInfo(); - startupLogger.debug("Netty versions: " + NettyVersions.extract()); + startupLogger.debug( + "Input arguments: " + ManagementFactory.getRuntimeMXBean().getInputArguments()); + startupLogger.debug("_JAVA_OPTIONS: " + System.getenv("_JAVA_OPTIONS")); + startupLogger.debug("JAVA_TOOL_OPTIONS: " + System.getenv("JAVA_TOOL_OPTIONS")); + } + + if (startupLogger.isTraceEnabled()) { + startupLogger.trace("OS: " + System.getProperty("os.name")); + startupLogger.trace("Classpath: " + System.getProperty("java.class.path")); + startupLogger.trace("Netty versions: " + NettyVersions.extract()); + startupLogger.trace("Env: " + System.getenv()); + startupLogger.trace("System properties: " + findSystemProperties()); } } catch (Exception e) { @@ -111,12 +121,18 @@ public void init() { } } - private static void logJavaInfo() { - startupLogger.debug("Classpath: " + System.getProperty("java.class.path")); - startupLogger.debug( - "Input arguments: " + ManagementFactory.getRuntimeMXBean().getInputArguments()); - startupLogger.debug("_JAVA_OPTIONS: " + System.getenv("_JAVA_OPTIONS")); - startupLogger.debug("JAVA_TOOL_OPTIONS: " + System.getenv("JAVA_TOOL_OPTIONS")); + private static String findSystemProperties() { + Properties properties = System.getProperties(); + StringBuilder propsBuilder = new StringBuilder(); + properties.forEach( + (key, value) -> { + boolean firstProperty = propsBuilder.length() == 0; + if (!firstProperty) { + propsBuilder.append(", "); + } + propsBuilder.append("(" + key + "=" + value + ")"); + }); + return propsBuilder.toString(); } @Override