diff -Naurp parfait-0.5.4.orig/parfait-agent/pom.xml parfait-0.5.4/parfait-agent/pom.xml
--- parfait-0.5.4.orig/parfait-agent/pom.xml 2017-10-11 11:01:37.000000000 +1100
+++ parfait-0.5.4/parfait-agent/pom.xml 2021-12-16 14:46:17.702813590 +1100
@@ -142,11 +142,6 @@
${slf4j.version}
- log4j
- log4j
- ${log4j.version}
-
-
com.fasterxml.jackson.core
jackson-core
2.8.8
diff -Naurp parfait-0.5.4.orig/parfait-agent/src/main/java/io/pcp/parfait/AgentMonitoringView.java parfait-0.5.4/parfait-agent/src/main/java/io/pcp/parfait/AgentMonitoringView.java
--- parfait-0.5.4.orig/parfait-agent/src/main/java/io/pcp/parfait/AgentMonitoringView.java 2017-10-11 11:01:37.000000000 +1100
+++ parfait-0.5.4/parfait-agent/src/main/java/io/pcp/parfait/AgentMonitoringView.java 2021-12-16 14:46:17.702813590 +1100
@@ -48,11 +48,12 @@ import javax.management.ReflectionExcept
import javax.management.openmbean.CompositeData;
import javax.measure.Unit;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
class AgentMonitoringView {
- private static final Logger logger = Logger.getLogger(ParfaitAgent.class);
+ private static final Logger logger = LoggerFactory.getLogger(ParfaitAgent.class);
private MonitorableRegistry registry = MonitorableRegistry.DEFAULT_REGISTRY;
diff -Naurp parfait-0.5.4.orig/parfait-agent/src/main/java/io/pcp/parfait/JmxUtilities.java parfait-0.5.4/parfait-agent/src/main/java/io/pcp/parfait/JmxUtilities.java
--- parfait-0.5.4.orig/parfait-agent/src/main/java/io/pcp/parfait/JmxUtilities.java 2017-10-11 11:01:37.000000000 +1100
+++ parfait-0.5.4/parfait-agent/src/main/java/io/pcp/parfait/JmxUtilities.java 2021-12-16 14:46:17.703813573 +1100
@@ -29,8 +29,6 @@ import javax.management.remote.JMXConnec
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
-import org.apache.log4j.Logger;
-
/**
* Convenience mechanisms for locating MBeanServer classes.
*/
diff -Naurp parfait-0.5.4.orig/parfait-agent/src/main/java/io/pcp/parfait/ParfaitAgent.java parfait-0.5.4/parfait-agent/src/main/java/io/pcp/parfait/ParfaitAgent.java
--- parfait-0.5.4.orig/parfait-agent/src/main/java/io/pcp/parfait/ParfaitAgent.java 2017-10-11 11:01:37.000000000 +1100
+++ parfait-0.5.4/parfait-agent/src/main/java/io/pcp/parfait/ParfaitAgent.java 2021-12-16 14:49:54.874103371 +1100
@@ -42,10 +42,11 @@ import javax.management.IntrospectionExc
import javax.management.MBeanException;
import javax.management.MBeanServer;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class ParfaitAgent {
- private static final Logger logger = Logger.getLogger(ParfaitAgent.class);
+ private static final Logger logger = LoggerFactory.getLogger(ParfaitAgent.class);
private static final String RESOURCE = "/jvm.json";
private static final String PATHNAME = "/etc/parfait";
diff -Naurp parfait-0.5.4.orig/parfait-core/src/main/java/io/pcp/parfait/QuiescentRegistryListener.java parfait-0.5.4/parfait-core/src/main/java/io/pcp/parfait/QuiescentRegistryListener.java
--- parfait-0.5.4.orig/parfait-core/src/main/java/io/pcp/parfait/QuiescentRegistryListener.java 2017-10-11 11:01:37.000000000 +1100
+++ parfait-0.5.4/parfait-core/src/main/java/io/pcp/parfait/QuiescentRegistryListener.java 2021-12-16 14:46:17.703813573 +1100
@@ -20,14 +20,15 @@ import java.util.Timer;
import java.util.TimerTask;
import com.google.common.base.Supplier;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Designed to run code after the MonitorableRegistry has become quiet, in terms of addition of new metrics
*/
public class QuiescentRegistryListener implements MonitorableRegistryListener {
- private static final Logger LOG = Logger.getLogger(QuiescentRegistryListener.class);
+ private static final Logger LOG = LoggerFactory.getLogger(QuiescentRegistryListener.class);
private final Scheduler quiescentScheduler;
private volatile long lastTimeMonitorableAdded = 0;
diff -Naurp parfait-0.5.4.orig/parfait-core/src/main/java/io/pcp/parfait/timing/ThreadContext.java parfait-0.5.4/parfait-core/src/main/java/io/pcp/parfait/timing/ThreadContext.java
--- parfait-0.5.4.orig/parfait-core/src/main/java/io/pcp/parfait/timing/ThreadContext.java 2021-12-16 14:45:29.312640302 +1100
+++ parfait-0.5.4/parfait-core/src/main/java/io/pcp/parfait/timing/ThreadContext.java 2021-12-16 14:46:17.703813573 +1100
@@ -95,11 +95,6 @@ public class ThreadContext {
* Clears all values for the current thread.
*/
public void clear() {
-
- /**
- * Unfortunately log4j's MDC historically never had a mechanism to block remove keys,
- * so we're forced to do this one by one.
- */
for (String key : allKeys()) {
mdcBridge.remove(key);
}
@@ -127,21 +122,18 @@ public class ThreadContext {
}
/**
- * Factory method that creates a new ThreadContext initialized to also update Log4j's MDC.
+ * Factory methods that create a new ThreadContext initialised to also update SLF4J's MDC
*/
public static ThreadContext newMDCEnabledContext() {
- return new ThreadContext(new Log4jMdcBridge());
+ return newSLF4JEnabledContext();
}
- /**
- * Factory method that creates a new ThreadContext initialised to also update SLF4J's MDC
- */
public static ThreadContext newSLF4JEnabledContext() {
return new ThreadContext(new Slf4jMDCBridge());
}
public interface MdcBridge {
- void put(String key, Object object);
+ void put(String key, Object object);
void remove(String key);
}
@@ -158,18 +150,6 @@ public class ThreadContext {
}
}
- public static class Log4jMdcBridge implements MdcBridge {
- @Override
- public void put(String key, Object object) {
- org.apache.log4j.MDC.put(key, object);
- }
-
- @Override
- public void remove(String key) {
- org.apache.log4j.MDC.remove(key);
- }
- }
-
public static class Slf4jMDCBridge implements MdcBridge {
@Override
public void put(String key, Object object) {
diff -Naurp parfait-0.5.4.orig/parfait-core/src/test/java/io/pcp/parfait/timing/ThreadContextTest.java parfait-0.5.4/parfait-core/src/test/java/io/pcp/parfait/timing/ThreadContextTest.java
--- parfait-0.5.4.orig/parfait-core/src/test/java/io/pcp/parfait/timing/ThreadContextTest.java 2017-10-11 11:01:37.000000000 +1100
+++ parfait-0.5.4/parfait-core/src/test/java/io/pcp/parfait/timing/ThreadContextTest.java 2021-12-16 14:46:17.703813573 +1100
@@ -20,7 +20,7 @@ import java.util.Hashtable;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
-import org.apache.log4j.MDC;
+import org.slf4j.MDC;
import junit.framework.TestCase;
@@ -29,11 +29,7 @@ public class ThreadContextTest extends T
public void setUp() {
context = new ThreadContext();
-
- Hashtable hashtable = MDC.getContext();
- if (hashtable != null) {
- hashtable.clear();
- }
+ MDC.clear();
}
@@ -86,15 +82,16 @@ public class ThreadContextTest extends T
assertNull("get() after clear should return null", context.get(testKey));
}
+/* -- Slf4j provides no MDC context API --
public void testClearRemovesMDCValue() {
- ThreadContext log4jThreadContext = ThreadContext.newMDCEnabledContext();
+ ThreadContext logThreadContext = ThreadContext.newMDCEnabledContext();
Hashtable mdcContext = MDC.getContext();
assertTrue(mdcContext == null || mdcContext.isEmpty());
final String testKey = "painter";
- log4jThreadContext.put(testKey, 7);
+ logThreadContext.put(testKey, 7);
mdcContext = MDC.getContext();
assertEquals(1, mdcContext.size());
@@ -102,7 +99,8 @@ public class ThreadContextTest extends T
mdcContext.clear();
assertEquals(0, mdcContext.size());
- log4jThreadContext.clear();
- assertNull("get() after clear should return null", log4jThreadContext.get(testKey));
+ logThreadContext.clear();
+ assertNull("get() after clear should return null", logThreadContext.get(testKey));
}
+*/
}
diff -Naurp parfait-0.5.4.orig/pom.xml parfait-0.5.4/pom.xml
--- parfait-0.5.4.orig/pom.xml 2021-12-16 14:45:29.313640285 +1100
+++ parfait-0.5.4/pom.xml 2021-12-16 14:50:31.701474201 +1100
@@ -95,7 +95,6 @@
UTF-8
4.2.5.RELEASE
1.6.1
- 1.2.14
1.8
${jdk.version}
${jdk.version}
@@ -323,11 +322,6 @@
org.slf4j
slf4j-api
${slf4j.version}
-
-
- log4j
- log4j
- ${log4j.version}
com.google.guava
@@ -385,11 +379,6 @@
slf4j-api
- log4j
- log4j
- true
-
-
com.fasterxml.jackson.core
jackson-core
2.8.8
diff -Naurp parfait-0.5.4.orig/parfait-agent/src/main/resources/log4j2.xml parfait-0.5.4/parfait-agent/src/main/resources/log4j2.xml
--- parfait-0.5.4.orig/parfait-agent/src/main/resources/log4j2.xml 2022-01-10 17:09:09.794017829 +0100
+++ parfait-0.5.4/parfait-agent/src/main/resources/log4j2.xml 1970-01-01 01:00:00.000000000 +0100
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff -Naurp parfait-0.5.4.orig/parfait-agent/src/main/resources/log4j.properties parfait-0.5.4/parfait-agent/src/main/resources/log4j.properties
--- parfait-0.5.4.orig/parfait-agent/src/main/resources/log4j.properties 2022-01-10 17:09:09.794017829 +0100
+++ parfait-0.5.4/parfait-agent/src/main/resources/log4j.properties 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-# Set root logger level to ERROR and its only appender to A1.
-log4j.rootLogger=warn, A1
-
-log4j.appender.A1=org.apache.log4j.ConsoleAppender
-log4j.appender.A1.Threshold=warn
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout
-log4j.appender.A1.layout.ConversionPattern=[%t] %-5p %c %x - %m%n