From b9af27cabbb91ea7d0be296a787c0a267c996d8f Mon Sep 17 00:00:00 2001 From: Yury Gribkov Date: Thu, 4 Sep 2025 10:55:39 -0700 Subject: [PATCH] Error Logs Remediation 2 --- .../communication/http/HttpRetryPolicy.java | 7 ++--- .../civisibility/CiVisibilityServices.java | 7 ++--- .../CrashUploaderScriptInitializer.java | 20 +++++-------- .../datadog/crashtracking/Initializer.java | 10 +++---- .../OOMENotifierScriptInitializer.java | 30 ++++++++----------- .../debugger/agent/ConfigurationUpdater.java | 2 +- .../debugger/agent/ThirdPartyLibraries.java | 2 +- .../trace/llmobs/EvalProcessingWorker.java | 7 ++--- .../profiling/agent/CompositeController.java | 2 +- .../datadog/trace/agent/tooling/AgentCLI.java | 2 +- .../jacoco/MethodVisitorWrapper.java | 12 ++++---- .../play25/appsec/PathExtractionHelpers.java | 2 +- .../play26/appsec/PathExtractionHelpers.java | 2 +- .../jbossmodules/common/ServiceSupport.java | 4 +-- .../api/git/UserSuppliedGitInfoBuilder.java | 22 +++++++------- .../trace/util/TempLocationManager.java | 4 +-- .../remoteconfig/state/ProductState.java | 2 +- 17 files changed, 58 insertions(+), 79 deletions(-) diff --git a/communication/src/main/java/datadog/communication/http/HttpRetryPolicy.java b/communication/src/main/java/datadog/communication/http/HttpRetryPolicy.java index 5ff1aca2b38..3578f0e1c93 100644 --- a/communication/src/main/java/datadog/communication/http/HttpRetryPolicy.java +++ b/communication/src/main/java/datadog/communication/http/HttpRetryPolicy.java @@ -123,10 +123,9 @@ private long getRateLimitResetTime(okhttp3.Response response) { return Long.parseLong(rateLimitHeader); } catch (NumberFormatException e) { log.error( - "Could not parse " - + X_RATELIMIT_RESET_HTTP_HEADER - + " header contents: " - + rateLimitHeader, + "Could not parse {} header contents: {}", + X_RATELIMIT_RESET_HTTP_HEADER, + rateLimitHeader, e); return RATE_LIMIT_RESET_TIME_UNDEFINED; } diff --git a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilityServices.java b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilityServices.java index 095614e46ad..726c23240ab 100644 --- a/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilityServices.java +++ b/dd-java-agent/agent-ci-visibility/src/main/java/datadog/trace/civisibility/CiVisibilityServices.java @@ -181,10 +181,9 @@ static Map getRemoteEnvironment(String url, String key, OkHttpCl return adapter.fromJson(response.body().source()); } else { logger.warn( - "Could not get remote CI environment (HTTP code " - + response.code() - + ")" - + (response.body() != null ? ": " + response.body().string() : "")); + "Could not get remote CI environment (HTTP code {}) {}", + response.code(), + response.body() != null ? ": " + response.body().string() : ""); return Collections.emptyMap(); } diff --git a/dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/CrashUploaderScriptInitializer.java b/dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/CrashUploaderScriptInitializer.java index 681c211c42f..a1b6399cda4 100644 --- a/dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/CrashUploaderScriptInitializer.java +++ b/dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/CrashUploaderScriptInitializer.java @@ -67,28 +67,21 @@ private static boolean copyCrashUploaderScript( } catch (UnsupportedOperationException e) { LOG.warn( SEND_TELEMETRY, - "Unsupported permissions '" - + RWXRWXRWX - + "' for " - + scriptDirectory - + ". " - + SETUP_FAILURE_MESSAGE); + "Unsupported permissions '" + RWXRWXRWX + "' for {}. " + SETUP_FAILURE_MESSAGE, + scriptDirectory); return false; } catch (FileAlreadyExistsException ignored) { // can be safely ignored; if the folder exists we will just reuse it if (!Files.isWritable(scriptDirectory)) { LOG.warn( - SEND_TELEMETRY, - "Read only directory " + scriptDirectory + ". " + SETUP_FAILURE_MESSAGE); + SEND_TELEMETRY, "Read only directory {}. " + SETUP_FAILURE_MESSAGE, scriptDirectory); return false; } } catch (IOException e) { LOG.warn( SEND_TELEMETRY, - "Failed to create writable crash tracking script folder " - + scriptDirectory - + ". " - + SETUP_FAILURE_MESSAGE); + "Failed to create writable crash tracking script folder {}. " + SETUP_FAILURE_MESSAGE, + scriptDirectory); return false; } try { @@ -97,7 +90,8 @@ private static boolean copyCrashUploaderScript( } catch (IOException e) { LOG.warn( SEND_TELEMETRY, - "Failed to copy crash tracking script " + scriptPath + ". " + SETUP_FAILURE_MESSAGE); + "Failed to copy crash tracking script {}. " + SETUP_FAILURE_MESSAGE, + scriptPath); return false; } return true; diff --git a/dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/Initializer.java b/dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/Initializer.java index d7dade2dc81..fb9694c7e09 100644 --- a/dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/Initializer.java +++ b/dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/Initializer.java @@ -175,12 +175,12 @@ static void writeConfig(Path scriptPath, String... entries) { LOG.debug("Deleting config file: {}", cfgPath); Files.deleteIfExists(cfgPath); } catch (IOException e) { - LOG.warn(SEND_TELEMETRY, "Failed deleting config file: " + cfgPath, e); + LOG.warn(SEND_TELEMETRY, "Failed deleting config file: {}", cfgPath, e); } })); LOG.debug("Config file written: {}", cfgPath); } catch (IOException e) { - LOG.warn(SEND_TELEMETRY, "Failed writing config file: " + cfgPath); + LOG.warn(SEND_TELEMETRY, "Failed writing config file: {}", cfgPath); try { Files.deleteIfExists(cfgPath); } catch (IOException ignored) { @@ -349,10 +349,8 @@ private static void logInitializationError(String msg, Throwable t) { } else { LOG.warn( SEND_TELEMETRY, - msg - + " [" - + t.getMessage() - + "] (Change the logging level to debug to see the full stacktrace)"); + msg + " [{}] (Change the logging level to debug to see the full stacktrace)", + t.getMessage()); } } } diff --git a/dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/OOMENotifierScriptInitializer.java b/dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/OOMENotifierScriptInitializer.java index cf78de12a1c..43ffddde1cc 100644 --- a/dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/OOMENotifierScriptInitializer.java +++ b/dd-java-agent/agent-crashtracking/src/main/java/datadog/crashtracking/OOMENotifierScriptInitializer.java @@ -43,9 +43,8 @@ static void initialize(String onOutOfMemoryVal) { if (scriptPath == null) { LOG.error( SEND_TELEMETRY, - "OOME notifier script value (" - + onOutOfMemoryVal - + ") does not follow the expected format: /dd_oome_notifier.(sh|bat) %p. OOME tracking is disabled."); + "OOME notifier script value ({}) does not follow the expected format: /dd_oome_notifier.(sh|bat) %p. OOME tracking is disabled.", + onOutOfMemoryVal); return; } String agentJar = findAgentJar(); @@ -86,9 +85,8 @@ private static boolean copyOOMEscript(Path scriptPath) { if (!Files.isWritable(scriptDirectory)) { LOG.warn( SEND_TELEMETRY, - "Read only directory " - + scriptDirectory - + ". OOME notification will not work properly."); + "Read only directory {}. OOME notification will not work properly.", + scriptDirectory); return false; } } else { @@ -97,22 +95,19 @@ private static boolean copyOOMEscript(Path scriptPath) { } catch (UnsupportedOperationException e) { LOG.warn( SEND_TELEMETRY, - "Unsupported permissions '" + "Unsupported permissions '{" + RWXRWXRWX - + "' for " - + scriptDirectory - + ". OOME notification will not work properly."); + + "' for {}. OOME notification will not work properly.", + scriptDirectory); return false; } catch (FileAlreadyExistsException ignored) { - LOG.warn( - SEND_TELEMETRY, "Path " + scriptDirectory + " already exists and is not a directory."); + LOG.warn(SEND_TELEMETRY, "Path {} already exists and is not a directory.", scriptDirectory); return false; } catch (IOException e) { LOG.warn( SEND_TELEMETRY, - "Failed to create writable OOME script folder " - + scriptDirectory - + ". OOME notification will not work properly."); + "Failed to create writable OOME script folder {}. OOME notification will not work properly.", + scriptDirectory); return false; } @@ -125,9 +120,8 @@ private static boolean copyOOMEscript(Path scriptPath) { } catch (IOException e) { LOG.warn( SEND_TELEMETRY, - "Failed to copy OOME script " - + scriptPath - + ". OOME notification will not work properly."); + "Failed to copy OOME script {}. OOME notification will not work properly.", + scriptPath); return false; } return true; diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/ConfigurationUpdater.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/ConfigurationUpdater.java index 72540843cc3..8f5d910285f 100644 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/ConfigurationUpdater.java +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/ConfigurationUpdater.java @@ -233,7 +233,7 @@ private void storeDebuggerDefinitions(ConfigurationComparer changes) { public ProbeImplementation resolve(String encodedProbeId) { ProbeDefinition definition = appliedDefinitions.get(encodedProbeId); if (definition == null) { - LOGGER.warn(SEND_TELEMETRY, "Cannot resolve probe id=" + encodedProbeId); + LOGGER.warn(SEND_TELEMETRY, "Cannot resolve probe id={}", encodedProbeId); } return definition; } diff --git a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/ThirdPartyLibraries.java b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/ThirdPartyLibraries.java index aabee3b67ba..6638e359fcf 100644 --- a/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/ThirdPartyLibraries.java +++ b/dd-java-agent/agent-debugger/src/main/java/com/datadog/debugger/agent/ThirdPartyLibraries.java @@ -51,7 +51,7 @@ public Set getThirdPartyLibraries(Config config) { excludes.addAll(defaults.getPrefixes()); return excludes; } catch (Exception e) { - LOGGER.error("Failed reading " + FILE_NAME + ". Treating all classes as third party.", e); + LOGGER.error("Failed reading {}. Treating all classes as third party.", FILE_NAME, e); return getExcludeAll(); } } diff --git a/dd-java-agent/agent-llmobs/src/main/java/datadog/trace/llmobs/EvalProcessingWorker.java b/dd-java-agent/agent-llmobs/src/main/java/datadog/trace/llmobs/EvalProcessingWorker.java index ef75000c7bf..7c50e2afbe6 100644 --- a/dd-java-agent/agent-llmobs/src/main/java/datadog/trace/llmobs/EvalProcessingWorker.java +++ b/dd-java-agent/agent-llmobs/src/main/java/datadog/trace/llmobs/EvalProcessingWorker.java @@ -177,10 +177,9 @@ protected void flushIfNecessary() { this.buffer.clear(); } else { log.error( - "Could not submit eval metrics (HTTP code " - + response.code() - + ")" - + (response.body() != null ? ": " + response.body().string() : "")); + "Could not submit eval metrics (HTTP code {}) {}", + response.code(), + response.body() != null ? response.body().string() : ""); } } catch (Exception e) { log.error("Could not submit eval metrics", e); diff --git a/dd-java-agent/agent-profiling/src/main/java/com/datadog/profiling/agent/CompositeController.java b/dd-java-agent/agent-profiling/src/main/java/com/datadog/profiling/agent/CompositeController.java index 6daf5986b11..e44a8428a28 100644 --- a/dd-java-agent/agent-profiling/src/main/java/com/datadog/profiling/agent/CompositeController.java +++ b/dd-java-agent/agent-profiling/src/main/java/com/datadog/profiling/agent/CompositeController.java @@ -156,7 +156,7 @@ public static Controller build(ConfigProvider provider, ControllerContext contex Class.forName("com.oracle.jrockit.jfr.Producer"); controllers.add(OracleJdkController.instance(provider)); } catch (Throwable t) { - log.debug(SEND_TELEMETRY, "Failed to load oracle profiler: " + t.getMessage(), t); + log.debug(SEND_TELEMETRY, "Failed to load oracle profiler: {}", t.getMessage(), t); } } if (!isOracleJDK8) { diff --git a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentCLI.java b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentCLI.java index ffb7c48f46f..61116a6be63 100644 --- a/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentCLI.java +++ b/dd-java-agent/agent-tooling/src/main/java/datadog/trace/agent/tooling/AgentCLI.java @@ -164,7 +164,7 @@ private static void unzipJar(Consumer invoker, File file) throws IOExcepti log.debug("Adding new jar: {}", temp.getAbsolutePath()); recursiveDependencySearch(invoker, temp); if (!temp.delete()) { - log.error("Error deleting temp file:{}", temp.getAbsolutePath()); + log.error("Error deleting temp file: {}", temp.getAbsolutePath()); } } catch (Exception ex) { log.error("Error unzipping file", ex); diff --git a/dd-java-agent/instrumentation/jacoco/src/main/java/datadog/trace/instrumentation/jacoco/MethodVisitorWrapper.java b/dd-java-agent/instrumentation/jacoco/src/main/java/datadog/trace/instrumentation/jacoco/MethodVisitorWrapper.java index 762f6c6936c..8b80d00ce30 100644 --- a/dd-java-agent/instrumentation/jacoco/src/main/java/datadog/trace/instrumentation/jacoco/MethodVisitorWrapper.java +++ b/dd-java-agent/instrumentation/jacoco/src/main/java/datadog/trace/instrumentation/jacoco/MethodVisitorWrapper.java @@ -57,7 +57,7 @@ private static Class getJacocoClass( return classLoader.loadClass(className); } catch (Throwable throwable) { - log.error("Could not load Jacoco class: " + className, throwable); + log.error("Could not load Jacoco class: {}", className, throwable); return null; } } @@ -73,12 +73,10 @@ private static MethodHandle accessMethod( return lookup.unreflect(method); } catch (Throwable throwable) { log.error( - "Could not find method " - + methodName - + " with arguments " - + Arrays.toString(arguments) - + " in class " - + clazz.getName(), + "Could not find method {} with arguments {} in class {}", + methodName, + Arrays.toString(arguments), + clazz.getName(), throwable); return null; } diff --git a/dd-java-agent/instrumentation/play-2.4/src/main/java_play25/datadog/trace/instrumentation/play25/appsec/PathExtractionHelpers.java b/dd-java-agent/instrumentation/play-2.4/src/main/java_play25/datadog/trace/instrumentation/play25/appsec/PathExtractionHelpers.java index 87fc8bff851..887b10b0412 100644 --- a/dd-java-agent/instrumentation/play-2.4/src/main/java_play25/datadog/trace/instrumentation/play25/appsec/PathExtractionHelpers.java +++ b/dd-java-agent/instrumentation/play-2.4/src/main/java_play25/datadog/trace/instrumentation/play25/appsec/PathExtractionHelpers.java @@ -24,7 +24,7 @@ public static BlockingException callRequestPathParamsCallback( try { return doCallRequestPathParamsCallback(reqCtx, params, origin); } catch (Exception e) { - log.warn("Error calling " + origin, e); + log.warn("Error calling {}", origin, e); return null; } } diff --git a/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/appsec/PathExtractionHelpers.java b/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/appsec/PathExtractionHelpers.java index 0ff075cbf3e..418a7972b74 100644 --- a/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/appsec/PathExtractionHelpers.java +++ b/dd-java-agent/instrumentation/play-2.6/src/main/java/datadog/trace/instrumentation/play26/appsec/PathExtractionHelpers.java @@ -24,7 +24,7 @@ public static BlockingException callRequestPathParamsCallback( try { return doCallRequestPathParamsCallback(reqCtx, params, origin); } catch (Exception e) { - log.warn("Error calling " + origin, e); + log.warn("Error calling {}", origin, e); return null; } } diff --git a/dd-smoke-tests/jboss-modules/src/main/java/datadog/smoketest/jbossmodules/common/ServiceSupport.java b/dd-smoke-tests/jboss-modules/src/main/java/datadog/smoketest/jbossmodules/common/ServiceSupport.java index e5e1aefc586..a9b507b1c0c 100644 --- a/dd-smoke-tests/jboss-modules/src/main/java/datadog/smoketest/jbossmodules/common/ServiceSupport.java +++ b/dd-smoke-tests/jboss-modules/src/main/java/datadog/smoketest/jbossmodules/common/ServiceSupport.java @@ -13,7 +13,7 @@ public final synchronized void start() throws Exception { log.info("Started " + this); started = true; } catch (Exception e) { - log.warn("Problem starting " + this, e); + log.warn("Problem starting {}" + this, e); throw e; } } @@ -26,7 +26,7 @@ public final synchronized void stop() throws Exception { log.info("Stopped " + this); started = false; } catch (Exception e) { - log.warn("Problem stopping " + this, e); + log.warn("Problem stopping {}" + this, e); throw e; } } diff --git a/internal-api/src/main/java/datadog/trace/api/git/UserSuppliedGitInfoBuilder.java b/internal-api/src/main/java/datadog/trace/api/git/UserSuppliedGitInfoBuilder.java index 92a37b109b4..7b5ff413f8a 100644 --- a/internal-api/src/main/java/datadog/trace/api/git/UserSuppliedGitInfoBuilder.java +++ b/internal-api/src/main/java/datadog/trace/api/git/UserSuppliedGitInfoBuilder.java @@ -81,23 +81,21 @@ public GitInfo build(@Nullable String repositoryPath) { String repoUrl = gitInfo.getRepositoryURL(); if (repoUrl == null || repoUrl.isEmpty()) { log.error( - "Could not resolve git repository URL (can be provided via " - + Strings.propertyNameToEnvironmentVariableName(DD_GIT_REPOSITORY_URL) - + " env var or corresponding system property, " - + GeneralConfig.TAGS - + " config property or by embedding git metadata at build time)"); + "Could not resolve git repository URL (can be provided via {} env var or corresponding system property, {} config property or by embedding git metadata at build time)", + Strings.propertyNameToEnvironmentVariableName(DD_GIT_REPOSITORY_URL), + GeneralConfig.TAGS); } String commitSha = gitInfo.getCommit().getSha(); if (!GitUtils.isValidCommitShaFull(commitSha)) { log.error( - "Git commit SHA could not be resolved or is invalid: " - + commitSha - + " (can be provided via " - + Strings.propertyNameToEnvironmentVariableName(DD_GIT_COMMIT_SHA) - + " env var or corresponding system property, " - + GeneralConfig.TAGS - + " config property or by embedding git metadata at build time; must be a full-length SHA"); + "Git commit SHA could not be resolved or is invalid: {}" + + " (can be provided via {}" + + " env var or corresponding system property, {}" + + " config property or by embedding git metadata at build time; must be a full-length SHA", + commitSha, + Strings.propertyNameToEnvironmentVariableName(DD_GIT_COMMIT_SHA), + GeneralConfig.TAGS); } } diff --git a/internal-api/src/main/java/datadog/trace/util/TempLocationManager.java b/internal-api/src/main/java/datadog/trace/util/TempLocationManager.java index 0942a277dae..e135cc410da 100644 --- a/internal-api/src/main/java/datadog/trace/util/TempLocationManager.java +++ b/internal-api/src/main/java/datadog/trace/util/TempLocationManager.java @@ -281,8 +281,8 @@ private TempLocationManager() { SEND_TELEMETRY, "Base temp directory, as defined in '" + ProfilingConfig.PROFILING_TEMP_DIR - + "' does not exist: " - + configuredTempDir); + + "' does not exist: {}", + configuredTempDir); throw new IllegalStateException( "Base temp directory, as defined in '" + ProfilingConfig.PROFILING_TEMP_DIR diff --git a/remote-config/remote-config-core/src/main/java/datadog/remoteconfig/state/ProductState.java b/remote-config/remote-config-core/src/main/java/datadog/remoteconfig/state/ProductState.java index 83e1e795aa0..56763b4b976 100644 --- a/remote-config/remote-config-core/src/main/java/datadog/remoteconfig/state/ProductState.java +++ b/remote-config/remote-config-core/src/main/java/datadog/remoteconfig/state/ProductState.java @@ -134,7 +134,7 @@ private void callListenerRemoveTarget(PollingRateHinter hinter, ParsedConfigKey listener.remove(configKey, hinter); } } catch (Exception ex) { - ratelimitedLogger.warn("Error handling configuration removal for " + configKey, ex); + ratelimitedLogger.warn("Error handling configuration removal for {}", configKey, ex); } cachedTargetFiles.remove(configKey); configStates.remove(configKey);