diff --git a/pom.xml b/pom.xml
index c71b9ec..937a71d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,7 +53,7 @@
4.5.14
4.4.16
4.5.14
- 2.0.7
+ 2.0.12
5.9.2
diff --git a/src/main/java/com/redhat/insights/agent/AgentBasicReport.java b/src/main/java/com/redhat/insights/agent/AgentBasicReport.java
index 8caf93b..fb4cb74 100644
--- a/src/main/java/com/redhat/insights/agent/AgentBasicReport.java
+++ b/src/main/java/com/redhat/insights/agent/AgentBasicReport.java
@@ -1,4 +1,4 @@
-/* Copyright (C) Red Hat 2023 */
+/* Copyright (C) Red Hat 2023-2024 */
package com.redhat.insights.agent;
import com.redhat.insights.config.InsightsConfiguration;
@@ -10,7 +10,7 @@
import java.util.Map;
public class AgentBasicReport extends AbstractTopLevelReportBase {
- private static final InsightsLogger logger = new SLF4JLogger(AgentBasicReport.class);
+ private static final InsightsLogger logger = AgentLogger.getLogger();
private AgentBasicReport(
InsightsConfiguration config, Map subReports) {
diff --git a/src/main/java/com/redhat/insights/agent/SLF4JLogger.java b/src/main/java/com/redhat/insights/agent/AgentLogger.java
similarity index 55%
rename from src/main/java/com/redhat/insights/agent/SLF4JLogger.java
rename to src/main/java/com/redhat/insights/agent/AgentLogger.java
index d510d94..f4447fb 100644
--- a/src/main/java/com/redhat/insights/agent/SLF4JLogger.java
+++ b/src/main/java/com/redhat/insights/agent/AgentLogger.java
@@ -1,18 +1,39 @@
-/* Copyright (C) Red Hat 2023 */
+/* Copyright (C) Red Hat 2023-2024 */
package com.redhat.insights.agent;
import com.redhat.insights.logging.InsightsLogger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.slf4j.simple.SimpleLogger;
-public class SLF4JLogger implements InsightsLogger {
+public class AgentLogger implements InsightsLogger {
- private final Logger delegate;
+ private static AgentLogger instance;
- public SLF4JLogger(Class> clazz) {
+ private Logger delegate;
+
+ private AgentLogger(Class> clazz) {
this.delegate = LoggerFactory.getLogger(clazz);
}
+ public static synchronized AgentLogger getLogger() {
+ if (instance == null) {
+ instance = new AgentLogger(AgentMain.class);
+ }
+ return instance;
+ }
+
+ static class DebugSimpleLogger extends SimpleLogger {
+ public DebugSimpleLogger() {
+ super("com.redhat.insights.agent.AgentLogger");
+ currentLogLevel = SimpleLogger.LOG_LEVEL_DEBUG;
+ }
+ }
+
+ public void setDebugDelegate() {
+ this.delegate = new DebugSimpleLogger();
+ }
+
@Override
public void debug(String message) {
delegate.debug(message);
diff --git a/src/main/java/com/redhat/insights/agent/AgentMain.java b/src/main/java/com/redhat/insights/agent/AgentMain.java
index ca3ef91..b46325e 100644
--- a/src/main/java/com/redhat/insights/agent/AgentMain.java
+++ b/src/main/java/com/redhat/insights/agent/AgentMain.java
@@ -6,7 +6,6 @@
import com.redhat.insights.http.InsightsFileWritingClient;
import com.redhat.insights.http.InsightsHttpClient;
import com.redhat.insights.jars.JarInfo;
-import com.redhat.insights.logging.InsightsLogger;
import com.redhat.insights.reports.InsightsReport;
import com.redhat.insights.tls.PEMSupport;
import java.lang.instrument.Instrumentation;
@@ -22,7 +21,7 @@
/** Main class for the agent. */
public final class AgentMain {
- private static final InsightsLogger logger = new SLF4JLogger(AgentMain.class);
+ private static final AgentLogger logger = AgentLogger.getLogger();
private final AgentConfiguration configuration;
private final BlockingQueue waitingJars;
@@ -72,6 +71,10 @@ public static void startAgent(String agentArgs, Instrumentation instrumentation)
"Config indicates Red Hat Insights agent is not to be run. Not starting agent capability.");
return;
}
+ if (config.isDebug()) {
+ logger.setDebugDelegate();
+ logger.debug("Running in debug mode");
+ }
final BlockingQueue jarsToSend = new LinkedBlockingQueue<>();
try {
@@ -163,7 +166,7 @@ static Optional parseArgs(String agentArgs) {
private static boolean shouldLookForCerts(AgentConfiguration config) {
boolean hasToken = config.getMaybeAuthToken().isPresent();
- return !hasToken && !config.isDebug() && !config.isFileOnly() && !config.isOptingOut();
+ return !hasToken && !config.isFileOnly() && !config.isOptingOut();
}
private void start() {
@@ -181,7 +184,7 @@ private void start() {
private Supplier getInsightsClientSupplier() {
final Supplier out;
- if (configuration.isDebug() || configuration.isFileOnly()) {
+ if (configuration.isFileOnly()) {
out = () -> new InsightsFileWritingClient(logger, configuration);
} else if (configuration.isOCP()) {
out = () -> new InsightsAgentHttpClient(configuration);
diff --git a/src/main/java/com/redhat/insights/agent/AgentSubreport.java b/src/main/java/com/redhat/insights/agent/AgentSubreport.java
index b0583c9..ac0f484 100644
--- a/src/main/java/com/redhat/insights/agent/AgentSubreport.java
+++ b/src/main/java/com/redhat/insights/agent/AgentSubreport.java
@@ -1,4 +1,4 @@
-/* Copyright (C) Red Hat 2023 */
+/* Copyright (C) Red Hat 2023-2024 */
package com.redhat.insights.agent;
import static java.lang.System.getProperty;
@@ -19,7 +19,7 @@
import java.util.function.Function;
public class AgentSubreport implements InsightsSubreport {
- private static final InsightsLogger logger = new SLF4JLogger(AgentSubreport.class);
+ private static final InsightsLogger logger = AgentLogger.getLogger();
private static final Class>[] EMPTY_CLASS_ARRAY = new Class[0];
private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
diff --git a/src/main/java/com/redhat/insights/agent/ClassNoticer.java b/src/main/java/com/redhat/insights/agent/ClassNoticer.java
index 2acb296..2a9af2b 100644
--- a/src/main/java/com/redhat/insights/agent/ClassNoticer.java
+++ b/src/main/java/com/redhat/insights/agent/ClassNoticer.java
@@ -1,4 +1,4 @@
-/* Copyright (C) Red Hat 2023 */
+/* Copyright (C) Red Hat 2023-2024 */
package com.redhat.insights.agent;
import com.redhat.insights.jars.JarAnalyzer;
@@ -15,7 +15,7 @@
import java.util.concurrent.BlockingQueue;
public final class ClassNoticer implements ClassFileTransformer {
- private static final InsightsLogger logger = new SLF4JLogger(ClassNoticer.class);
+ private static final InsightsLogger logger = AgentLogger.getLogger();
private final BlockingQueue jarsToSend;
private final JarAnalyzer analyzer;
diff --git a/src/main/java/com/redhat/insights/agent/InsightsAgentHttpClient.java b/src/main/java/com/redhat/insights/agent/InsightsAgentHttpClient.java
index c00c1a1..e3cdc77 100644
--- a/src/main/java/com/redhat/insights/agent/InsightsAgentHttpClient.java
+++ b/src/main/java/com/redhat/insights/agent/InsightsAgentHttpClient.java
@@ -28,7 +28,7 @@
import org.apache.http.util.EntityUtils;
public final class InsightsAgentHttpClient implements InsightsHttpClient {
- private static final InsightsLogger logger = new SLF4JLogger(InsightsAgentHttpClient.class);
+ private static final InsightsLogger logger = AgentLogger.getLogger();
private static final ContentType GENERAL_CONTENT_TYPE = ContentType.create(GENERAL_MIME_TYPE);
private final Supplier sslContextSupplier;
private final InsightsConfiguration configuration;