You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ma...@apache.org on 2022/03/03 21:25:18 UTC
[activemq] 01/02: [AMQ-8520] WIP: Convert activemq-unit-tests to log4j2
This is an automated email from the ASF dual-hosted git repository.
mattrpav pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq.git
commit 7ec5254bb59924b09d124fc19c797c2587bceea6
Author: Matt Pavlovich <ma...@hyte.io>
AuthorDate: Wed Mar 2 09:13:55 2022 -0600
[AMQ-8520] WIP: Convert activemq-unit-tests to log4j2
---
.../apache/activemq/ProducerFlowControlTest.java | 20 ++--
.../activemq/ReconnectWithSameClientIDTest.java | 28 +++--
.../activemq/TcpTransportCloseConnectionTest.java | 39 ++++---
.../activemq/broker/jmx/Log4JConfigTest.java | 15 +--
.../broker/region/DestinationGCStressTest.java | 50 +++++----
.../activemq/broker/region/QueuePurgeTest.java | 21 ++--
.../broker/scheduler/JmsSchedulerTest.java | 14 +--
.../scheduler/JobSchedulerManagementTest.java | 5 +-
...chedulerRedliveryPluginDLQStoreCleanupTest.java | 5 +-
.../scheduler/JobSchedulerStoreCheckpointTest.java | 5 +-
.../scheduler/LostScheduledMessagesTest.java | 5 +-
.../java/org/apache/activemq/bugs/AMQ1936Test.java | 17 +--
.../java/org/apache/activemq/bugs/AMQ2902Test.java | 29 ++---
.../java/org/apache/activemq/bugs/AMQ3567Test.java | 38 ++++---
.../java/org/apache/activemq/bugs/AMQ3622Test.java | 38 ++++---
.../java/org/apache/activemq/bugs/AMQ3625Test.java | 36 +++---
.../java/org/apache/activemq/bugs/AMQ3779Test.java | 34 ++++--
.../java/org/apache/activemq/bugs/AMQ4221Test.java | 27 +++--
.../java/org/apache/activemq/bugs/AMQ5426Test.java | 41 ++++---
.../java/org/apache/activemq/bugs/AMQ5844Test.java | 45 ++++----
.../java/org/apache/activemq/bugs/AMQ6131Test.java | 5 +-
.../bugs/AMQ6133PersistJMSRedeliveryTest.java | 6 +-
.../java/org/apache/activemq/bugs/AMQ6432Test.java | 31 +++--
.../java/org/apache/activemq/bugs/AMQ6463Test.java | 30 +++--
.../java/org/apache/activemq/bugs/AMQ7067Test.java | 11 +-
.../activemq/bugs/MKahaDBTxRecoveryTest.java | 49 ++++----
.../TransactedStoreUsageSuspendResumeTest.java | 5 +-
.../activemq/bugs/TrapMessageInJDBCStoreTest.java | 5 +-
.../activemq/bugs/embedded/EmbeddedActiveMQ.java | 5 +-
.../activemq/bugs/embedded/ThreadExplorer.java | 6 +-
.../org/apache/activemq/jmx/JmxAuditLogTest.java | 125 +++++++++++----------
.../apache/activemq/security/SecurityJMXTest.java | 15 +--
.../activemq/store/SharedFileLockerTest.java | 43 ++++---
.../activemq/store/jdbc/JDBCConcurrentDLQTest.java | 45 ++++++--
.../store/jdbc/JDBCIOExceptionHandlerTest.java | 27 +++--
.../store/kahadb/KahaDBPersistenceAdapterTest.java | 23 ++--
.../apache/activemq/store/kahadb/KahaDBTest.java | 24 ++--
.../activemq/transport/failover/AMQ1925Test.java | 5 +-
.../transport/failover/FailoverUpdateURIsTest.java | 13 ++-
.../activemq/transport/nio/NIOSSLBasicTest.java | 30 +++--
.../tcp/TcpTransportCloseSocketNoWarnTest.java | 55 +++++----
.../TcpTransportInactiveDuringHandshakeTest.java | 28 +++--
.../transport/vm/VmTransportNetworkBrokerTest.java | 24 ++--
.../activemq/usage/StoreUsageLimitsTest.java | 42 ++++---
.../org/apache/activemq/usecases/AMQ6446Test.java | 43 ++++---
.../activemq/usecases/ClientRebalanceTest.java | 5 +-
.../activemq/usecases/DurableSubCacheTest.java | 29 +++--
.../activemq/usecases/EmptyTransactionTest.java | 27 +++--
.../OfflineDurableSubscriberTimeoutTest.java | 35 +++---
...equestReplyTempDestRemovalAdvisoryRaceTest.java | 29 +++--
.../usecases/TopicProducerFlowControlTest.java | 47 ++++----
.../usecases/UsageBlockedDispatchTest.java | 28 +++--
.../src/test/resources/log4j.properties | 47 --------
.../src/test/resources/log4j2-test.properties | 55 +++++++++
54 files changed, 886 insertions(+), 623 deletions(-)
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/ProducerFlowControlTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/ProducerFlowControlTest.java
index 202d99e..01d6941 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/ProducerFlowControlTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/ProducerFlowControlTest.java
@@ -34,7 +34,6 @@ import javax.jms.TextMessage;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.TransportConnector;
import org.apache.activemq.broker.region.Queue;
-import org.apache.activemq.broker.region.Topic;
import org.apache.activemq.broker.region.policy.PolicyEntry;
import org.apache.activemq.broker.region.policy.PolicyMap;
import org.apache.activemq.broker.region.policy.VMPendingQueueMessageStoragePolicy;
@@ -42,9 +41,10 @@ import org.apache.activemq.broker.region.policy.VMPendingSubscriberMessageStorag
import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.transport.tcp.TcpTransport;
import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LogEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -261,22 +261,24 @@ public class ProducerFlowControlTest extends JmsTestSupport {
Appender appender = new DefaultTestAppender() {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().equals(Level.WARN) && event.getMessage().toString().contains("Usage Manager Memory Limit")) {
+ public void append(LogEvent event) {
+ if (event.getLevel().equals(Level.WARN) && event.getMessage().getFormattedMessage().contains("Usage Manager Memory Limit")) {
LOG.info("received warn log message: " + event.getMessage());
warnings.incrementAndGet();
}
- if (event.getLevel().equals(Level.DEBUG) && event.getMessage().toString().contains("Usage Manager Memory Limit")) {
+ if (event.getLevel().equals(Level.DEBUG) && event.getMessage().getFormattedMessage().contains("Usage Manager Memory Limit")) {
LOG.info("received debug log message: " + event.getMessage());
debugs.incrementAndGet();
}
}
};
- org.apache.log4j.Logger log4jLogger =
- org.apache.log4j.Logger.getLogger(Queue.class);
+ appender.start();
+
+ org.apache.logging.log4j.core.Logger log4jLogger = (org.apache.logging.log4j.core.Logger)LogManager.getLogger(Queue.class);
log4jLogger.addAppender(appender);
log4jLogger.setLevel(Level.DEBUG);
+
try {
ConnectionFactory factory = createConnectionFactory();
connection = (ActiveMQConnection)factory.createConnection();
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/ReconnectWithSameClientIDTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/ReconnectWithSameClientIDTest.java
index 81d13b2..06ed2cd 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/ReconnectWithSameClientIDTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/ReconnectWithSameClientIDTest.java
@@ -24,9 +24,13 @@ import javax.jms.JMSException;
import javax.jms.Session;
import junit.framework.Test;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,20 +52,22 @@ public class ReconnectWithSameClientIDTest extends EmbeddedBrokerTestSupport {
public void testReconnectMultipleTimesWithSameClientID() throws Exception {
- org.apache.log4j.Logger log4jLogger =
- org.apache.log4j.Logger.getLogger(org.apache.activemq.broker.jmx.ManagedTransportConnection.class);
final AtomicBoolean failed = new AtomicBoolean(false);
-
- Appender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger((org.apache.activemq.broker.jmx.ManagedTransportConnection.class)));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getMessage().toString().startsWith("Failed to register MBean")) {
+ public void append(LogEvent event) {
+ if (event.getMessage().getFormattedMessage().startsWith("Failed to register MBean")) {
LOG.info("received unexpected log message: " + event.getMessage());
failed.set(true);
}
}
};
- log4jLogger.addAppender(appender);
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+
try {
connection = connectionFactory.createConnection();
useConnection(connection);
@@ -85,7 +91,7 @@ public class ReconnectWithSameClientIDTest extends EmbeddedBrokerTestSupport {
connection = connectionFactory.createConnection();
useConnection(connection);
} finally {
- log4jLogger.removeAppender(appender);
+ logger.removeAppender(appender);
}
assertFalse("failed on unexpected log event", failed.get());
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/TcpTransportCloseConnectionTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/TcpTransportCloseConnectionTest.java
index 6237d5a..f7bd17e 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/TcpTransportCloseConnectionTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/TcpTransportCloseConnectionTest.java
@@ -18,39 +18,44 @@
package org.apache.activemq;
import org.apache.activemq.broker.jmx.ManagementContext;
-import org.apache.activemq.util.DefaultTestAppender;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Appender;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.*;
import static org.junit.Assert.assertFalse;
import java.util.concurrent.*;
-
import org.apache.activemq.broker.BrokerService;
-
import javax.management.JMException;
import javax.management.ObjectName;
public class TcpTransportCloseConnectionTest {
static boolean transportConnectionFailed = false;
-
+ static final org.apache.logging.log4j.core.Appender appender;
private BrokerService broker;
private final String uri = "tcp://localhost:0?wireFormat.maxInactivityDuration=500";
- static final Appender appender = new DefaultTestAppender() {
- @Override
- public void doAppend(LoggingEvent event) {
- if(event.getMessage().toString().contains("Transport Connection")
- && event.getMessage().toString().contains("failed")
- && (event.getMessage().toString().contains("java.net.SocketException") || event.getMessage().toString().contains("java.io.EOFException"))) {
- transportConnectionFailed = true;
+ static {
+ appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
+ @Override
+ public void append(LogEvent event) {
+ String message = event.getMessage().getFormattedMessage();
+ if(message.contains("Transport Connection")
+ && message.contains("failed")
+ && (message.contains("java.net.SocketException") || message.contains("java.io.EOFException"))) {
+ transportConnectionFailed = true;
+ }
}
- }
- };
+ };
+ appender.start();
+ }
class CustomManagementContext extends ManagementContext {
@Override
@@ -67,12 +72,12 @@ public class TcpTransportCloseConnectionTest {
@BeforeClass
public static void setUp() throws Exception {
- org.apache.log4j.Logger.getRootLogger().addAppender(appender);
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger()).addAppender(appender);
}
@AfterClass
public static void setDown() throws Exception {
- org.apache.log4j.Logger.getRootLogger().removeAppender(appender);
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger()).removeAppender(appender);
}
@Before
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/jmx/Log4JConfigTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/jmx/Log4JConfigTest.java
index 2c2b373..a5255a6 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/jmx/Log4JConfigTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/jmx/Log4JConfigTest.java
@@ -27,8 +27,9 @@ import javax.management.ObjectName;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.EmbeddedBrokerTestSupport;
import org.apache.activemq.broker.BrokerService;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Logger;
import org.junit.Test;
import org.slf4j.LoggerFactory;
@@ -112,7 +113,7 @@ public class Log4JConfigTest extends EmbeddedBrokerTestSupport {
String level = log4jConfigView.getLogLevel("not.a.logger");
assertNotNull(level);
assertFalse(level.isEmpty());
- assertEquals(Logger.getRootLogger().getLevel().toString(), level);
+ assertEquals(LogManager.getRootLogger().getLevel().toString(), level);
}
@Test
@@ -166,7 +167,7 @@ public class Log4JConfigTest extends EmbeddedBrokerTestSupport {
assertNotNull(level);
assertFalse(level.isEmpty());
- String currentRootLevel = Logger.getRootLogger().getLevel().toString();
+ String currentRootLevel = LogManager.getRootLogger().getLevel().toString();
assertEquals(currentRootLevel, level);
}
@@ -177,12 +178,12 @@ public class Log4JConfigTest extends EmbeddedBrokerTestSupport {
Log4JConfigViewMBean log4jConfigView = MBeanServerInvocationHandler.newProxyInstance(
mbeanServer, log4jConfigViewName, Log4JConfigViewMBean.class, true);
- String currentRootLevel = Logger.getRootLogger().getLevel().toString();
+ String currentRootLevel = LogManager.getRootLogger().getLevel().toString();
log4jConfigView.setRootLogLevel("WARN");
- currentRootLevel = Logger.getRootLogger().getLevel().toString();
+ currentRootLevel = LogManager.getRootLogger().getLevel().toString();
assertEquals("WARN", currentRootLevel);
log4jConfigView.setRootLogLevel("INFO");
- currentRootLevel = Logger.getRootLogger().getLevel().toString();
+ currentRootLevel = LogManager.getRootLogger().getLevel().toString();
assertEquals("INFO", currentRootLevel);
Level level;
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/region/DestinationGCStressTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/region/DestinationGCStressTest.java
index 61c01d8..f473918 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/region/DestinationGCStressTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/region/DestinationGCStressTest.java
@@ -24,9 +24,13 @@ import org.apache.activemq.broker.region.policy.PolicyMap;
import org.apache.activemq.command.ActiveMQTopic;
import org.apache.activemq.util.DefaultTestAppender;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -90,20 +94,22 @@ public class DestinationGCStressTest {
@Test(timeout = 60000)
public void testClashWithPublishAndGC() throws Exception {
- org.apache.log4j.Logger log4jLogger =
- org.apache.log4j.Logger.getLogger(RegionBroker.class);
final AtomicBoolean failed = new AtomicBoolean(false);
-
- Appender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(RegionBroker.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().equals(Level.ERROR) && event.getMessage().toString().startsWith("Failed to remove inactive")) {
+ public void append(LogEvent event) {
+ if (event.getLevel().equals(Level.ERROR) && event.getMessage().getFormattedMessage().startsWith("Failed to remove inactive")) {
logger.info("received unexpected log message: " + event.getMessage());
failed.set(true);
}
}
};
- log4jLogger.addAppender(appender);
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+
try {
final AtomicInteger max = new AtomicInteger(20000);
@@ -147,7 +153,7 @@ public class DestinationGCStressTest {
connection.close();
} finally {
- log4jLogger.removeAppender(appender);
+ logger.removeAppender(appender);
}
assertFalse("failed on unexpected log event", failed.get());
@@ -156,16 +162,14 @@ public class DestinationGCStressTest {
@Test(timeout = 60000)
public void testAddRemoveWildcardWithGc() throws Exception {
- org.apache.log4j.Logger log4jLogger =
- org.apache.log4j.Logger.getLogger(RegionBroker.class);
final AtomicBoolean failed = new AtomicBoolean(false);
-
- Appender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(RegionBroker.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().equals(Level.ERROR) && event.getMessage().toString().startsWith("Failed to remove inactive")) {
- if (event.getThrowableInformation().getThrowable() != null
- && event.getThrowableInformation().getThrowable().getCause() instanceof BrokerStoppedException) {
+ public void append(LogEvent event) {
+ if (event.getLevel().equals(Level.ERROR) && event.getMessage().getFormattedMessage().startsWith("Failed to remove inactive")) {
+ if (event.getThrown() != null
+ && event.getThrown().getCause() instanceof BrokerStoppedException) {
// ok
} else {
logger.info("received unexpected log message: " + event.getMessage());
@@ -174,7 +178,11 @@ public class DestinationGCStressTest {
}
}
};
- log4jLogger.addAppender(appender);
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+
try {
final AtomicInteger max = new AtomicInteger(10000);
@@ -241,7 +249,7 @@ public class DestinationGCStressTest {
connection.close();
} finally {
- log4jLogger.removeAppender(appender);
+ logger.removeAppender(appender);
}
assertFalse("failed on unexpected log event", failed.get());
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/region/QueuePurgeTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/region/QueuePurgeTest.java
index 3e8b647..2f837cc 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/region/QueuePurgeTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/region/QueuePurgeTest.java
@@ -43,9 +43,9 @@ import org.apache.activemq.broker.region.policy.PolicyEntry;
import org.apache.activemq.broker.region.policy.PolicyMap;
import org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter;
import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -108,14 +108,15 @@ public class QueuePurgeTest extends CombinationTestSupport {
QueueViewMBean proxy = getProxyToQueueViewMBean();
LOG.info("purging..");
- org.apache.log4j.Logger log4jLogger = org.apache.log4j.Logger.getLogger(org.apache.activemq.broker.jmx.QueueView.class);
+ org.apache.logging.log4j.core.Logger log4jLogger = (org.apache.logging.log4j.core.Logger)LogManager.getLogger(org.apache.activemq.broker.jmx.QueueView.class);
+
final AtomicBoolean gotPurgeLogMessage = new AtomicBoolean(false);
Appender appender = new DefaultTestAppender() {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getMessage() instanceof String) {
- String message = (String) event.getMessage();
+ public void append(LogEvent event) {
+ if (event.getMessage() != null) {
+ String message = event.getMessage().getFormattedMessage();
if (message.contains("purge of " + NUM_TO_SEND +" messages")) {
LOG.info("Received a log message: {} ", event.getMessage());
gotPurgeLogMessage.set(true);
@@ -123,16 +124,14 @@ public class QueuePurgeTest extends CombinationTestSupport {
}
}
};
-
- Level level = log4jLogger.getLevel();
- log4jLogger.setLevel(Level.INFO);
+ appender.start();
log4jLogger.addAppender(appender);
+
try {
proxy.purge();
} finally {
- log4jLogger.setLevel(level);
log4jLogger.removeAppender(appender);
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JmsSchedulerTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JmsSchedulerTest.java
index 6a061c7..dfa61ce 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JmsSchedulerTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JmsSchedulerTest.java
@@ -40,9 +40,10 @@ import org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl;
import org.apache.activemq.util.DefaultTestAppender;
import org.apache.activemq.util.ProducerThread;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LogEvent;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -224,8 +225,8 @@ public class JmsSchedulerTest extends JobSchedulerTestSupport {
Appender appender = new DefaultTestAppender() {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getMessage().toString().contains("Removed Job past last appened in the journal")) {
+ public void append(LogEvent event) {
+ if (event.getMessage() != null && event.getMessage().getFormattedMessage().contains("Removed Job past last appened in the journal")) {
numberOfDiscardedJobs.incrementAndGet();
}
}
@@ -263,8 +264,7 @@ public class JmsSchedulerTest extends JobSchedulerTestSupport {
}
private void registerLogAppender(final Appender appender) {
- org.apache.log4j.Logger log4jLogger =
- org.apache.log4j.Logger.getLogger(JobSchedulerStoreImpl.class);
+ org.apache.logging.log4j.core.Logger log4jLogger = (org.apache.logging.log4j.core.Logger)LogManager.getLogger(JobSchedulerStoreImpl.class);
log4jLogger.addAppender(appender);
log4jLogger.setLevel(Level.TRACE);
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JobSchedulerManagementTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JobSchedulerManagementTest.java
index b1f3b2e..39ba478 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JobSchedulerManagementTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JobSchedulerManagementTest.java
@@ -32,7 +32,6 @@ import org.apache.activemq.command.ActiveMQMessage;
import org.apache.activemq.store.kahadb.disk.journal.DataFile;
import org.apache.activemq.store.kahadb.disk.page.Transaction;
import org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl;
-import org.apache.log4j.Level;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,6 +48,8 @@ import javax.jms.TextMessage;
import org.apache.activemq.ScheduledMessage;
import org.apache.activemq.command.ActiveMQMessage;
import org.apache.activemq.util.IdGenerator;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -69,7 +70,7 @@ public class JobSchedulerManagementTest extends JobSchedulerTestSupport {
@Test
public void testRemoveAllScheduled() throws Exception {
- org.apache.log4j.Logger.getLogger(Transaction.class).setLevel(Level.DEBUG);
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(Transaction.class)).setLevel(Level.DEBUG);
final int COUNT = 5000;
System.setProperty("maxKahaDBTxSize", "" + (500*1024));
Connection connection = createConnection();
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JobSchedulerRedliveryPluginDLQStoreCleanupTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JobSchedulerRedliveryPluginDLQStoreCleanupTest.java
index 5068f67..e049efe 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JobSchedulerRedliveryPluginDLQStoreCleanupTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JobSchedulerRedliveryPluginDLQStoreCleanupTest.java
@@ -52,7 +52,8 @@ import org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl;
import org.apache.activemq.util.ByteSequence;
import org.apache.activemq.util.IOHelper;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Level;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -76,7 +77,7 @@ public class JobSchedulerRedliveryPluginDLQStoreCleanupTest {
public void setUp() throws Exception {
// investigate gc issue - store usage not getting released
- org.apache.log4j.Logger.getLogger(JobSchedulerStoreImpl.class).setLevel(Level.TRACE);
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(JobSchedulerStoreImpl.class)).setLevel(Level.TRACE);
File directory = new File("target/test/ScheduledJobsDB");
IOHelper.mkdirs(directory);
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JobSchedulerStoreCheckpointTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JobSchedulerStoreCheckpointTest.java
index 3685f34..1c841aa 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JobSchedulerStoreCheckpointTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/JobSchedulerStoreCheckpointTest.java
@@ -29,7 +29,8 @@ import org.apache.activemq.store.kahadb.scheduler.JobSchedulerStoreImpl;
import org.apache.activemq.util.ByteSequence;
import org.apache.activemq.util.IOHelper;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Level;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -48,7 +49,7 @@ public class JobSchedulerStoreCheckpointTest {
public void setUp() throws Exception {
// investigate gc issue - store usage not getting released
- org.apache.log4j.Logger.getLogger(JobSchedulerStoreImpl.class).setLevel(Level.TRACE);
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(JobSchedulerStoreImpl.class)).setLevel(Level.TRACE);
File directory = new File("target/test/ScheduledJobsDB");
IOHelper.mkdirs(directory);
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/LostScheduledMessagesTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/LostScheduledMessagesTest.java
index 53588b5..3e24a7d 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/LostScheduledMessagesTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/broker/scheduler/LostScheduledMessagesTest.java
@@ -36,7 +36,6 @@ import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.ScheduledMessage;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.util.IOHelper;
-import org.apache.log4j.BasicConfigurator;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -74,7 +73,9 @@ public class LostScheduledMessagesTest {
@After
public void tearDown() throws Exception {
broker.stop();
- BasicConfigurator.resetConfiguration();
+
+ // [AMQ-8520] FIXME: Convert or remove if not needed
+ //BasicConfigurator.resetConfiguration();
}
@Test
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ1936Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ1936Test.java
index e4c73ff..e6362ce 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ1936Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ1936Test.java
@@ -43,14 +43,15 @@ import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.AutoFailTestSupport;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* A AMQ1936Test
*
*/
public class AMQ1936Test extends TestCase {
- private final static Logger logger = Logger.getLogger(AMQ1936Test.class);
+ private final static Logger logger = LoggerFactory.getLogger(AMQ1936Test.class);
private final static String TEST_QUEUE_NAME = "dynamicQueues/duplicate.message.test.queue";
// //--
//
@@ -177,7 +178,7 @@ public class AMQ1936Test extends TestCase {
}
if (messages.containsKey(message.getJMSMessageID())) {
duplicateSignal.countDown();
- logger.fatal("duplicate message id detected:" + message.getJMSMessageID());
+ logger.error("duplicate message id detected:" + message.getJMSMessageID());
fail("Duplicate message id detected:" + message.getJMSMessageID());
} else {
messages.put(message.getJMSMessageID(), message.getJMSMessageID());
@@ -275,14 +276,14 @@ public class AMQ1936Test extends TestCase {
try {
receiver.close();
} catch (JMSException e) {
- logger.warn(e);
+ logger.warn(e.getMessage(), e);
}
}
if (session != null) {
try {
session.close();
} catch (JMSException e) {
- logger.warn(e);
+ logger.warn(e.getMessage(), e);
}
}
if (queueConnection != null) {
@@ -290,12 +291,12 @@ public class AMQ1936Test extends TestCase {
}
}
} catch (JMSException e) {
- logger.error(e);
+ logger.error(e.getMessage(), e);
e.printStackTrace();
} catch (NamingException e) {
- logger.error(e);
+ logger.error(e.getMessage(), e);
} catch (Exception e) {
- logger.error(e);
+ logger.error(e.getMessage(), e);
e.printStackTrace();
}
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java
index 66ff094..05d3163 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java
@@ -28,10 +28,10 @@ import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.broker.TransportConnection;
import org.apache.activemq.transport.TransportDisposedIOException;
import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LogEvent;
import org.slf4j.LoggerFactory;
public class AMQ2902Test extends TestCase {
@@ -41,10 +41,11 @@ public class AMQ2902Test extends TestCase {
final AtomicBoolean failedToFindMDC = new AtomicBoolean(Boolean.FALSE);
Appender appender = new DefaultTestAppender() {
+ @SuppressWarnings("deprecation")
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getThrowableInformation() != null
- && event.getThrowableInformation().getThrowable() instanceof TransportDisposedIOException) {
+ public void append(LogEvent event) {
+ if (event.getThrown() != null
+ && event.getThrown() instanceof TransportDisposedIOException) {
// Prevent StackOverflowException so we can see a sane stack trace.
if (gotExceptionInLog.get()) {
@@ -52,11 +53,11 @@ public class AMQ2902Test extends TestCase {
}
gotExceptionInLog.set(Boolean.TRUE);
- LOG.error("got event: " + event + ", ex:" + event.getThrowableInformation().getThrowable(), event.getThrowableInformation().getThrowable());
+ LOG.error("got event: " + event + ", ex:" + event.getThrown(), event);
LOG.error("Event source: ", new Throwable("Here"));
}
- if( !((String) event.getMessage()).startsWith("Loaded the Bouncy Castle security provider at position") ) {
- if (event.getMDC("activemq.broker") == null) {
+ if( !((String) event.getMessage().getFormattedMessage()).startsWith("Loaded the Bouncy Castle security provider at position") ) {
+ if (event.getContextData().getValue("activemq.broker") == null) {
failedToFindMDC.set(Boolean.TRUE);
}
}
@@ -84,14 +85,14 @@ public class AMQ2902Test extends TestCase {
public void setUp() throws Exception {
gotExceptionInLog.set(Boolean.FALSE);
failedToFindMDC.set(Boolean.FALSE);
- Logger.getRootLogger().addAppender(appender);
- Logger.getLogger(TransportConnection.class.getName() + ".Transport").setLevel(Level.DEBUG);
- Logger.getLogger(TransportConnection.class.getName()).setLevel(Level.DEBUG);
+ ((org.apache.logging.log4j.core.Logger)LogManager.getRootLogger()).addAppender(appender);
+ ((org.apache.logging.log4j.core.Logger)LogManager.getLogger(TransportConnection.class.getName() + ".Transport")).setLevel(Level.DEBUG);
+ ((org.apache.logging.log4j.core.Logger)LogManager.getLogger(TransportConnection.class)).setLevel(Level.DEBUG);
}
@Override
public void tearDown() throws Exception {
- Logger.getRootLogger().removeAppender(appender);
+ ((org.apache.logging.log4j.core.Logger)LogManager.getRootLogger()).removeAppender(appender);
assertFalse("got unexpected ex in log on graceful close", gotExceptionInLog.get());
assertFalse("MDC is there", failedToFindMDC.get());
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3567Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3567Test.java
index b4ce82f..531a37a 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3567Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3567Test.java
@@ -32,10 +32,15 @@ import javax.jms.Session;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.broker.region.cursors.AbstractStoreCursor;
import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
@@ -71,15 +76,15 @@ public class AMQ3567Test {
@Test
public void runTest() throws Exception {
produceSingleMessage();
- org.apache.log4j.Logger log4jLogger = org.apache.log4j.Logger.getLogger("org.apache.activemq.util.ServiceSupport");
- final AtomicBoolean failed = new AtomicBoolean(false);
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger("org.apache.activemq.util.ServiceSupport"));
- Appender appender = new DefaultTestAppender() {
+ final AtomicBoolean failed = new AtomicBoolean(false);
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getThrowableInformation() != null) {
- if (event.getThrowableInformation().getThrowable() instanceof InterruptedException) {
- InterruptedException ie = (InterruptedException)event.getThrowableInformation().getThrowable();
+ public void append(LogEvent event) {
+ if (event.getThrown() != null) {
+ if (event.getThrown() instanceof InterruptedException) {
+ InterruptedException ie = (InterruptedException)event.getThrown();
if (ie.getMessage().startsWith("Could not stop service:")) {
logger.info("Received an interrupted exception : ", ie);
failed.set(true);
@@ -88,11 +93,14 @@ public class AMQ3567Test {
}
}
};
- log4jLogger.addAppender(appender);
+ appender.start();
- Level level = log4jLogger.getLevel();
- log4jLogger.setLevel(Level.DEBUG);
+ Level level = logger.getLevel();
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+ logger.setLevel(Level.DEBUG);
+
try {
stopConsumer();
stopBroker();
@@ -101,8 +109,8 @@ public class AMQ3567Test {
}
} finally {
- log4jLogger.setLevel(level);
- log4jLogger.removeAppender(appender);
+ logger.setLevel(level);
+ logger.removeAppender(appender);
}
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3622Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3622Test.java
index e08279c..0f6b7fb 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3622Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3622Test.java
@@ -30,35 +30,47 @@ import org.apache.activemq.broker.region.policy.PolicyEntry;
import org.apache.activemq.broker.region.policy.PolicyMap;
import org.apache.activemq.transport.stomp.Stomp;
import org.apache.activemq.transport.stomp.StompConnection;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.Logger;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class AMQ3622Test {
+ protected static final Appender appender;
+ protected static final AtomicBoolean failed = new AtomicBoolean(false);
protected BrokerService broker;
- protected AtomicBoolean failed = new AtomicBoolean(false);
protected String connectionUri;
- protected Appender appender = new DefaultTestAppender() {
+ protected Logger logger;
+ static {
+ appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
+ public void append(LogEvent event) {
System.err.println(event.getMessage());
- if (event.getThrowableInformation() != null) {
- if (event.getThrowableInformation().getThrowable() instanceof NullPointerException) {
+ if (event.getThrown() != null) {
+ if (event.getThrown() instanceof NullPointerException) {
failed.set(true);
}
}
- }
- };
+ }
+ };
+ appender.start();
+ }
@Before
public void before() throws Exception {
- Logger.getRootLogger().addAppender(appender);
+
+ logger = Logger.class.cast(LogManager.getRootLogger());
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
broker = new BrokerService();
broker.setDataDirectory("target" + File.separator + "activemq-data");
@@ -88,7 +100,7 @@ public class AMQ3622Test {
public void after() throws Exception {
broker.stop();
broker.waitUntilStopped();
- Logger.getRootLogger().removeAppender(appender);
+ logger.removeAppender(appender);
}
@Test
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3625Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3625Test.java
index a9506c3..efa962f 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3625Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3625Test.java
@@ -18,10 +18,13 @@ package org.apache.activemq.bugs;
import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -80,27 +83,32 @@ public class AMQ3625Test {
@Test
public void go() throws Exception {
- Appender appender = new DefaultTestAppender() {
+
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getMessage().toString().contains("java.lang.SecurityException")) {
+ public void append(LogEvent event) {
+ if (event.getMessage() != null && event.getMessage().getFormattedMessage().contains("java.lang.SecurityException")) {
authenticationFailed.set(true);
}
- if (event.getMessage().toString().contains("NullPointerException")) {
+ if (event.getMessage() != null && event.getMessage().getFormattedMessage().contains("NullPointerException")) {
gotNPE.set(true);
}
}
};
- Logger.getRootLogger().addAppender(appender);
-
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+
String connectURI = broker1.getConnectorByName("openwire").getConnectUri().toString();
connectURI = connectURI.replace("?needClientAuth=true", "?verifyHostName=false");
broker2.addNetworkConnector("static:(" + connectURI + ")").start();
-
+
Thread.sleep(10 * 1000);
-
- Logger.getRootLogger().removeAppender(appender);
-
+
+ logger.removeAppender(appender);
+
assertTrue(authenticationFailed.get());
assertFalse(gotNPE.get());
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3779Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3779Test.java
index edd334a..172ad93 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3779Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ3779Test.java
@@ -26,10 +26,15 @@ import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.util.LoggingBrokerPlugin;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.Logger;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -38,8 +43,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
public class AMQ3779Test {
-
- private static final Logger LOG = Logger.getLogger(AMQ3779Test.class);
+ private static final Logger LOG = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(AMQ3779Test.class));
private static final String qName = "QNameToFind";
private BrokerService brokerService;
@@ -51,20 +55,28 @@ public class AMQ3779Test {
public void setUp() throws Exception {
ok.set(false);
- appender = new DefaultTestAppender() {
+ final var rootLogger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
+ public void append(LogEvent event) {
if (event.getLoggerName().toString().contains(qName)) {
ok.set(true);
}
- if (event.getMessage().toString().contains("Sending") && event.getMessage().toString().contains("size = 0")) {
+ String msg = event.getMessage().getFormattedMessage();
+ if (msg.contains("Sending") && msg.contains("size = 0")) {
gotZeroSize.set(true);
}
}
};
+ appender.start();
+
+ LOG.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ LOG.addAppender(appender);
+ LOG.setLevel(Level.TRACE);
- Logger.getRootLogger().addAppender(appender);
+ rootLogger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ rootLogger.addAppender(appender);
try {
brokerService = new BrokerService();
@@ -89,7 +101,7 @@ public class AMQ3779Test {
brokerService.waitUntilStopped();
}
} finally {
- Logger.getRootLogger().removeAppender(appender);
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger()).removeAppender(appender);
}
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4221Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4221Test.java
index 0684cb6..1f55210 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4221Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ4221Test.java
@@ -45,10 +45,13 @@ import org.apache.activemq.broker.region.policy.PolicyMap;
import org.apache.activemq.command.ActiveMQDestination;
import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.store.kahadb.plist.PListStoreImpl;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -84,17 +87,21 @@ public class AMQ4221Test extends TestSupport {
@Override
public void setUp() throws Exception {
- LogManager.getRootLogger().addAppender(new DefaultTestAppender() {
-
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().isGreaterOrEqual(Level.ERROR)) {
+ public void append(LogEvent event) {
+ if (event.getLevel().isMoreSpecificThan(Level.WARN)) {
System.err.println("Fail on error in log: " + event.getMessage());
done.set(true);
- errorsInLog.add(event.getRenderedMessage());
+ errorsInLog.add(event.getMessage().getFormattedMessage());
}
}
- });
+ };
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
done.set(false);
errorsInLog.clear();
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ5426Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ5426Test.java
index da09aaf..5c7f4b4 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ5426Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ5426Test.java
@@ -41,10 +41,13 @@ import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.region.policy.PolicyEntry;
import org.apache.activemq.broker.region.policy.PolicyMap;
-import org.apache.log4j.Appender;
-import org.apache.log4j.AppenderSkeleton;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -61,7 +64,6 @@ public class AMQ5426Test {
private AtomicBoolean hasFailureInProducer = new AtomicBoolean(false);
private Thread producerThread;
private AtomicBoolean hasErrorInLogger;
- private Appender errorDetectorAppender;
protected ConnectionFactory createConnectionFactory() throws Exception {
ActiveMQConnectionFactory conFactory = new ActiveMQConnectionFactory(
@@ -92,25 +94,20 @@ public class AMQ5426Test {
// ActiveMQConnection.setClientInternalExceptionListener
// since ActiveMQMessageConsumer.dispatch will silently catch and
// discard any RuntimeException
- errorDetectorAppender = new AppenderSkeleton() {
- @Override
- public void close() {
- // Do nothing
- }
-
- @Override
- public boolean requiresLayout() {
- return false;
- }
-
- @Override
- protected void append(LoggingEvent event) {
- if (event.getLevel().isGreaterOrEqual(Level.ERROR))
- hasErrorInLogger.set(true);
- }
+
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
+ @Override
+ public void append(LogEvent event) {
+ if (event.getLevel().isMoreSpecificThan(Level.WARN))
+ hasErrorInLogger.set(true);
+ }
};
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
- org.apache.log4j.Logger.getRootLogger().addAppender(errorDetectorAppender);
producerThread = new Thread(new Runnable() {
@Override
public void run() {
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ5844Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ5844Test.java
index 17db041..afdbc18 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ5844Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ5844Test.java
@@ -31,16 +31,18 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import org.apache.log4j.Appender;
-import org.apache.log4j.spi.LoggingEvent;
-
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.apache.activemq.broker.BrokerService;
-import org.apache.activemq.broker.region.policy.AbortSlowConsumerStrategy;
import org.apache.activemq.broker.region.policy.PolicyEntry;
import org.apache.activemq.broker.region.policy.PolicyMap;
import org.apache.activemq.transport.failover.FailoverTransport;
import org.apache.activemq.util.DefaultIOExceptionHandler;
-import org.apache.activemq.util.DefaultTestAppender;
import org.apache.activemq.util.Wait;
import org.slf4j.Logger;
@@ -75,26 +77,31 @@ public class AMQ5844Test {
static boolean abortingSlowConsumer = false;
static boolean successfullyReconnected = false;
+ static final AbstractAppender appender;
- static final Appender appender = new DefaultTestAppender() {
- @Override
- public void doAppend(LoggingEvent event) {
- if(event.getMessage().toString().contains("aborting slow consumer")) {
- abortingSlowConsumer = true;
- }
-
- if(event.getMessage().toString().contains("Successfully reconnected to")) {
- successfullyReconnected = true;
+ static {
+ appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
+ @Override
+ public void append(LogEvent event) {
+ if(event.getMessage().getFormattedMessage().contains("aborting slow consumer")) {
+ abortingSlowConsumer = true;
+ }
+
+ if(event.getMessage().getFormattedMessage().contains("Successfully reconnected to")) {
+ successfullyReconnected = true;
+ }
}
- }
- };
+ };
+ appender.start();
+ }
@BeforeClass
public static void setUp() throws Exception {
- org.apache.log4j.Logger.getRootLogger().addAppender(appender);
+ org.apache.logging.log4j.core.Logger rootLogger = ((org.apache.logging.log4j.core.Logger)LogManager.getRootLogger());
+ rootLogger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ rootLogger.addAppender(appender);
}
-
@Before
/**
* Sets a AbortSlowConsumerStrategy policy entry on the broker and starts the broker.
@@ -133,7 +140,7 @@ public class AMQ5844Test {
broker.stop();
broker.waitUntilStopped();
}
- org.apache.log4j.Logger.getRootLogger().removeAppender(appender);
+ ((org.apache.logging.log4j.core.Logger)LogManager.getRootLogger()).removeAppender(appender);
}
@Test
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6131Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6131Test.java
index 2abd33f..f653641 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6131Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6131Test.java
@@ -46,7 +46,7 @@ import org.apache.activemq.util.Wait.Condition;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.TrueFileFilter;
import org.apache.commons.io.filefilter.WildcardFileFilter;
-import org.apache.log4j.Level;
+import org.apache.logging.log4j.LogManager;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -61,7 +61,8 @@ public class AMQ6131Test {
@Before
public void startBroker() throws Exception {
- org.apache.log4j.Logger.getLogger(MessageDatabase.class).setLevel(Level.TRACE);
+ org.apache.logging.log4j.core.Logger logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(MessageDatabase.class));
+ logger.setLevel(org.apache.logging.log4j.Level.TRACE);
setUpBroker(true);
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6133PersistJMSRedeliveryTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6133PersistJMSRedeliveryTest.java
index ea29638..d739cfd 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6133PersistJMSRedeliveryTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6133PersistJMSRedeliveryTest.java
@@ -48,7 +48,8 @@ import org.apache.activemq.store.kahadb.MessageDatabase;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.filefilter.TrueFileFilter;
import org.apache.commons.io.filefilter.WildcardFileFilter;
-import org.apache.log4j.Level;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -96,8 +97,7 @@ public class AMQ6133PersistJMSRedeliveryTest {
public void setup() throws Exception {
// Investigate loss of messages on message update in store.
- org.apache.log4j.Logger.getLogger(MessageDatabase.class).setLevel(Level.TRACE);
-
+ ((org.apache.logging.log4j.core.Logger)LogManager.getLogger(MessageDatabase.class)).setLevel(Level.TRACE);
createBroker(true);
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6432Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6432Test.java
index de9dd63..596174b 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6432Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6432Test.java
@@ -22,11 +22,14 @@ import org.apache.activemq.broker.jmx.QueueViewMBean;
import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter;
import org.apache.activemq.store.kahadb.MessageDatabase;
-import org.apache.activemq.util.DefaultTestAppender;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -85,22 +88,26 @@ public class AMQ6432Test {
@Test
public void testTransactedStoreUsageSuspendResume() throws Exception {
- org.apache.log4j.Logger log4jLogger =
- org.apache.log4j.Logger.getLogger(MessageDatabase.class);
final AtomicBoolean failed = new AtomicBoolean(false);
final File journalDataDir = ((KahaDBPersistenceAdapter) broker.getPersistenceAdapter()).getStore().getJournal().getDirectory();
- Appender appender = new DefaultTestAppender() {
+
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(MessageDatabase.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().equals(Level.WARN) && event.getMessage().toString().startsWith("Failed to load next journal")) {
- LOG.info("received unexpected log message: " + event.getMessage());
+ public void append(LogEvent event) {
+ if (event.getLevel().equals(Level.WARN) && event.getMessage().getFormattedMessage().startsWith("Failed to load next journal")) {
+ LOG.info("received unexpected log message: " + event.getMessage().getFormattedMessage());
failed.set(true);
}
}
};
- log4jLogger.addAppender(appender);
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+
try {
ExecutorService sendExecutor = Executors.newSingleThreadExecutor();
@@ -139,7 +146,7 @@ public class AMQ6432Test {
}));
} finally {
- log4jLogger.removeAppender(appender);
+ logger.removeAppender(appender);
}
assertFalse("failed on unexpected log event", failed.get());
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6463Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6463Test.java
index 31e1ec1..f3af4ba 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6463Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ6463Test.java
@@ -27,11 +27,16 @@ import org.apache.activemq.broker.region.policy.PolicyMap;
import org.apache.activemq.broker.region.policy.VMPendingQueueMessageStoragePolicy;
import org.apache.activemq.broker.region.policy.VMPendingSubscriberMessageStoragePolicy;
import org.apache.activemq.command.ActiveMQQueue;
-import org.apache.activemq.util.DefaultTestAppender;
import org.apache.activemq.util.IOHelper;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,7 +53,7 @@ public class AMQ6463Test extends JmsTestSupport {
ActiveMQQueue queueA = new ActiveMQQueue("QUEUE.A");
protected TransportConnector connector;
protected ActiveMQConnection connection;
- protected DefaultTestAppender appender;
+ protected Appender appender;
final AtomicInteger errors = new AtomicInteger(0);
final AtomicBoolean gotUsageBlocked = new AtomicBoolean();
@@ -120,25 +125,28 @@ public class AMQ6463Test extends JmsTestSupport {
public void setUp() throws Exception {
setAutoFail(true);
- appender = new DefaultTestAppender() {
+
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
+ public void append(LogEvent event) {
if (event.getLevel().equals(Level.ERROR)) {
errors.incrementAndGet();
- } else if (event.getLevel().equals(Level.WARN) && event.getRenderedMessage().contains("Usage Manager Memory Limit")) {
+ } else if (event.getLevel().equals(Level.WARN) && event.getMessage().getFormattedMessage().contains("Usage Manager Memory Limit")) {
gotUsageBlocked.set(true);
}
}
};
- org.apache.log4j.Logger rootLogger = org.apache.log4j.Logger.getRootLogger();
- rootLogger.addAppender(appender);
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
super.setUp();
}
protected void tearDown() throws Exception {
- org.apache.log4j.Logger rootLogger = org.apache.log4j.Logger.getRootLogger();
- rootLogger.removeAppender(appender);
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger()).removeAppender(appender);
if (connection != null) {
connection.close();
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ7067Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ7067Test.java
index 5da378e..fa24076 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ7067Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ7067Test.java
@@ -21,6 +21,7 @@ import org.apache.activemq.ActiveMQXAConnection;
import org.apache.activemq.ActiveMQXAConnectionFactory;
import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService;
+import org.apache.activemq.broker.TransportConnection;
import org.apache.activemq.broker.jmx.BrokerMBeanSupport;
import org.apache.activemq.broker.jmx.BrokerViewMBean;
import org.apache.activemq.broker.jmx.DestinationViewMBean;
@@ -34,7 +35,8 @@ import org.apache.activemq.store.kahadb.MessageDatabase;
import org.apache.activemq.util.JMXSupport;
import org.apache.activemq.util.Wait;
import org.apache.commons.lang.StringUtils;
-import org.apache.log4j.Level;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -166,8 +168,8 @@ public class AMQ7067Test {
public void testXAPrepareWithAckCompactionDoesNotLooseInflight() throws Exception {
// investigate liner gc issue - store usage not getting released
- org.apache.log4j.Logger.getLogger(MessageDatabase.class).setLevel(Level.TRACE);
-
+ org.apache.logging.log4j.core.Logger logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(MessageDatabase.class));
+ logger.setLevel(org.apache.logging.log4j.Level.TRACE);
setupXAConnection();
@@ -242,8 +244,7 @@ public class AMQ7067Test {
((KahaDBPersistenceAdapter)broker.getPersistenceAdapter()).setCompactAcksAfterNoGC(2);
// investigate liner gc issue - store usage not getting released
- org.apache.log4j.Logger.getLogger(MessageDatabase.class).setLevel(Level.TRACE);
-
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(MessageDatabase.class)).setLevel(Level.TRACE);
setupXAConnection();
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/MKahaDBTxRecoveryTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/MKahaDBTxRecoveryTest.java
index 9e9bcfd..4daa85b 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/MKahaDBTxRecoveryTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/MKahaDBTxRecoveryTest.java
@@ -34,11 +34,14 @@ import org.apache.activemq.store.kahadb.MultiKahaDBPersistenceAdapter;
import org.apache.activemq.store.kahadb.MultiKahaDBTransactionStore;
import org.apache.activemq.store.kahadb.disk.journal.Journal;
import org.apache.activemq.util.ByteSequence;
-import org.apache.activemq.util.DefaultTestAppender;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Test;
import org.slf4j.Logger;
@@ -280,20 +283,22 @@ public class MKahaDBTxRecoveryTest {
corruptTxStoreJournal(pathToDataDir);
// verify failure to load txStore via logging
- org.apache.log4j.Logger log4jLogger =
- org.apache.log4j.Logger.getLogger(MultiKahaDBTransactionStore.class);
-
AtomicBoolean foundSomeCorruption = new AtomicBoolean();
- Appender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(MultiKahaDBTransactionStore.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().equals(Level.ERROR) && event.getMessage().toString().startsWith("Corrupt ")) {
+ public void append(LogEvent event) {
+ if (Level.ERROR.equals(event.getLevel()) && event.getMessage().getFormattedMessage().startsWith("Corrupt ")) {
LOG.info("received expected log message: " + event.getMessage());
foundSomeCorruption.set(true);
}
}
};
- log4jLogger.addAppender(appender);
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+
try {
prepareBrokerWithMultiStore(false);
@@ -367,7 +372,7 @@ public class MKahaDBTxRecoveryTest {
assertEquals(101, destination.getMessageStore().getMessageCount());
} finally {
- log4jLogger.removeAppender(appender);
+ logger.removeAppender(appender);
}
}
@@ -401,24 +406,26 @@ public class MKahaDBTxRecoveryTest {
corruptTxStoreJournalAndTruncate(pathToDataDir);
// verify failure to load txStore via logging
- org.apache.log4j.Logger log4jLogger =
- org.apache.log4j.Logger.getLogger(MultiKahaDBTransactionStore.class);
-
AtomicBoolean foundSomeCorruption = new AtomicBoolean();
AtomicBoolean ignoringCorruption = new AtomicBoolean();
- Appender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(MultiKahaDBTransactionStore.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().equals(Level.ERROR) && event.getMessage().toString().startsWith("Corrupt ")) {
+ public void append(LogEvent event) {
+ if (Level.ERROR.equals(event.getLevel()) && event.getMessage().getFormattedMessage().startsWith("Corrupt ")) {
LOG.info("received expected log message: " + event.getMessage());
foundSomeCorruption.set(true);
- } else if (event.getLevel().equals(Level.INFO) && event.getMessage().toString().contains("auto resolving")) {
+ } else if (Level.INFO.equals(event.getLevel()) && event.getMessage().getFormattedMessage().contains("auto resolving")) {
ignoringCorruption.set(true);
}
}
};
- log4jLogger.addAppender(appender);
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+
try {
prepareBrokerWithMultiStore(false);
@@ -453,7 +460,7 @@ public class MKahaDBTxRecoveryTest {
broker.stop();
} finally {
- log4jLogger.removeAppender(appender);
+ logger.removeAppender(appender);
}
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TransactedStoreUsageSuspendResumeTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TransactedStoreUsageSuspendResumeTest.java
index e2d94f9..7620888 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TransactedStoreUsageSuspendResumeTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TransactedStoreUsageSuspendResumeTest.java
@@ -38,7 +38,8 @@ import org.apache.activemq.TestSupport;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter;
import org.apache.activemq.store.kahadb.MessageDatabase;
-import org.apache.log4j.Level;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -108,7 +109,7 @@ public class TransactedStoreUsageSuspendResumeTest {
public void setup() throws Exception {
// investigate liner gc issue - store usage not getting released
- org.apache.log4j.Logger.getLogger(MessageDatabase.class).setLevel(Level.TRACE);
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(MessageDatabase.class)).setLevel(Level.TRACE);
broker = new BrokerService();
broker.setDeleteAllMessagesOnStartup(true);
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TrapMessageInJDBCStoreTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TrapMessageInJDBCStoreTest.java
index ae1c442..a0ae1f1 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TrapMessageInJDBCStoreTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/TrapMessageInJDBCStoreTest.java
@@ -41,7 +41,8 @@ import org.apache.activemq.store.jdbc.TransactionContext;
import org.apache.activemq.util.IOHelper;
import org.apache.activemq.util.LeaseLockerIOExceptionHandler;
import org.apache.derby.jdbc.EmbeddedDataSource;
-import org.apache.log4j.Level;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -109,7 +110,7 @@ public class TrapMessageInJDBCStoreTest extends TestCase {
public void testDBCommitException() throws Exception {
- org.apache.log4j.Logger serviceLogger = org.apache.log4j.Logger.getLogger(TransportConnection.class.getName() + ".Service");
+ org.apache.logging.log4j.core.Logger serviceLogger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(TransportConnection.class.getName() + ".Service"));
serviceLogger.setLevel (Level.TRACE);
broker = this.createBroker(false);
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/EmbeddedActiveMQ.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/EmbeddedActiveMQ.java
index 3b4f2fd..abfba57 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/EmbeddedActiveMQ.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/EmbeddedActiveMQ.java
@@ -26,12 +26,13 @@ import javax.jms.MessageProducer;
import javax.jms.Session;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.broker.BrokerService;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class EmbeddedActiveMQ
{
- private static Logger logger = Logger.getLogger(EmbeddedActiveMQ.class);
+ private static Logger logger = LoggerFactory.getLogger(EmbeddedActiveMQ.class);
public static void main(String[] args)
{
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/ThreadExplorer.java b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/ThreadExplorer.java
index 1d6e204..cc6cbf3 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/ThreadExplorer.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/embedded/ThreadExplorer.java
@@ -18,11 +18,13 @@ package org.apache.activemq.bugs.embedded;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.log4j.Logger;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class ThreadExplorer
{
- static Logger logger = Logger.getLogger(ThreadExplorer.class);
+ static Logger logger = LoggerFactory.getLogger(ThreadExplorer.class);
public static Thread[] listThreads()
{
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/jmx/JmxAuditLogTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/jmx/JmxAuditLogTest.java
index 5256b96..d4014e6 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/jmx/JmxAuditLogTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/jmx/JmxAuditLogTest.java
@@ -35,11 +35,14 @@ import org.apache.activemq.broker.jmx.BrokerMBeanSupport;
import org.apache.activemq.broker.jmx.ManagementContext;
import org.apache.activemq.command.ActiveMQDestination;
import org.apache.activemq.command.ActiveMQQueue;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Configurator;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.Test;
import static org.apache.activemq.broker.util.JMXAuditLogEntry.VERBS;
@@ -119,31 +122,33 @@ public class JmxAuditLogTest extends TestSupport
@Test
public void testPasswordsAreNotLoggedWhenAuditIsTurnedOn() throws Exception
{
- Logger log4jLogger = Logger.getLogger("org.apache.activemq.audit");
- log4jLogger.setLevel(Level.INFO);
+ final var log4jLogger = (org.apache.logging.log4j.core.Logger)LogManager.getLogger("org.apache.activemq.audit");
+ Configurator.setLevel("org.apache.activemq.audit", Level.INFO);
final AtomicInteger logCount = new AtomicInteger(0);
final AtomicBoolean gotEnded = new AtomicBoolean(false);
- Appender appender = new DefaultTestAppender()
- {
- @Override
- public void doAppend(LoggingEvent event)
- {
- if (event.getMessage() instanceof String)
- {
- String message = (String) event.getMessage();
- System.out.println(message);
- if (message.contains("testPassword"))
- {
- fail("Password should not appear in log file");
- }
- if (message.contains(VERBS[1])) {
- gotEnded.set(true);
- }
- }
- logCount.incrementAndGet();
- }
+ // start new
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
+ @Override
+ public void append(LogEvent event) {
+ if (event.getMessage() != null)
+ {
+ String message = event.getMessage().getFormattedMessage();
+ System.out.println(message);
+ if (message.contains("testPassword"))
+ {
+ fail("Password should not appear in log file");
+ }
+ if (message.contains(VERBS[1])) {
+ gotEnded.set(true);
+ }
+ }
+ logCount.incrementAndGet();
+ }
};
+ appender.start();
+
+ log4jLogger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
log4jLogger.addAppender(appender);
MBeanServerConnection conn = createJMXConnector(portToUse);
@@ -163,8 +168,6 @@ public class JmxAuditLogTest extends TestSupport
@Test
public void testNameTargetVisible() throws Exception
{
- Logger log4jLogger = Logger.getLogger("org.apache.activemq.audit");
- log4jLogger.setLevel(Level.INFO);
final AtomicInteger logCount = new AtomicInteger(0);
final AtomicBoolean gotEnded = new AtomicBoolean(false);
final AtomicBoolean gotQueueName = new AtomicBoolean(false);
@@ -172,36 +175,41 @@ public class JmxAuditLogTest extends TestSupport
final AtomicBoolean gotConnectorName = new AtomicBoolean(false);
final String queueName = queue.getQueueName();
- Appender appender = new DefaultTestAppender()
- {
- @Override
- public void doAppend(LoggingEvent event)
- {
- if (event.getMessage() instanceof String)
- {
- String message = (String) event.getMessage();
- System.out.println(message);
- if (message.contains(VERBS[0])) {
- if (message.contains(queueName)) {
- gotQueueName.set(true);
- }
- if (message.contains(broker.getBrokerName())) {
- gotBrokerName.set(true);
- }
-
- if (message.contains("TCP")) {
- gotConnectorName.set(true);
- }
- }
-
- if (message.contains(VERBS[1])) {
- gotEnded.set(true);
- }
- }
- logCount.incrementAndGet();
- }
+
+ // start new
+ final var logger = (org.apache.logging.log4j.core.Logger)LogManager.getLogger("org.apache.activemq.audit");
+ Configurator.setLevel("org.apache.activemq.audit", Level.INFO);
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
+ @Override
+ public void append(LogEvent event) {
+ if (event.getMessage() != null)
+ {
+ String message = event.getMessage().getFormattedMessage();
+ System.out.println(message);
+ if (message.contains(VERBS[0])) {
+ if (message.contains(queueName)) {
+ gotQueueName.set(true);
+ }
+ if (message.contains(broker.getBrokerName())) {
+ gotBrokerName.set(true);
+ }
+
+ if (message.contains("TCP")) {
+ gotConnectorName.set(true);
+ }
+ }
+
+ if (message.contains(VERBS[1])) {
+ gotEnded.set(true);
+ }
+ }
+ logCount.incrementAndGet();
+ }
};
- log4jLogger.addAppender(appender);
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
MBeanServerConnection conn = createJMXConnector(portToUse);
ObjectName queueObjName = new ObjectName(broker.getBrokerObjectName() + ",destinationType=Queue,destinationName=" + queueName);
@@ -226,7 +234,6 @@ public class JmxAuditLogTest extends TestSupport
assertEquals("got messages", 6, logCount.get());
assertTrue("got connectorName in called statement", gotConnectorName.get());
- log4jLogger.removeAppender(appender);
-
+ logger.removeAppender(appender);
}
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/security/SecurityJMXTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/security/SecurityJMXTest.java
index 058a2eb..5bf176a 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/security/SecurityJMXTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/security/SecurityJMXTest.java
@@ -45,8 +45,9 @@ import org.apache.activemq.broker.jmx.QueueViewMBean;
import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.transport.stomp.StompConnection;
import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LogEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -71,17 +72,17 @@ public class SecurityJMXTest extends TestCase {
final AtomicReference<Object> stackTrace = new AtomicReference<Object>();
final Appender appender = new DefaultTestAppender() {
- public void doAppend(LoggingEvent event) {
- String message = event.getMessage().toString();
+ @Override
+ public void append(LogEvent event) {
+ String message = event.getMessage().getFormattedMessage();
if (message.contains("Async error occurred")) {
gotExpected.set(true);
- stackTrace.set(event.getThrowableInformation());
+ stackTrace.set(event.getThrown());
}
}
};
- final org.apache.log4j.Logger toVerify = org.apache.log4j.Logger.getLogger(TransportConnection.class.getName() + ".Service");
-
+ org.apache.logging.log4j.core.Logger toVerify = (org.apache.logging.log4j.core.Logger)LogManager.getLogger(TransportConnection.class.getName() + ".Service");
toVerify.addAppender(appender);
try {
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerTest.java
index c22ec80..2ae8b5c 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/SharedFileLockerTest.java
@@ -27,14 +27,18 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import org.apache.activemq.broker.LockableServiceSupport;
import org.apache.activemq.broker.Locker;
-import org.apache.activemq.util.DefaultTestAppender;
import org.apache.activemq.util.IOHelper;
import org.apache.activemq.util.LockFile;
import org.apache.activemq.util.ServiceStopper;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Configurator;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
@@ -86,16 +90,22 @@ public class SharedFileLockerTest {
private void internalLoop(long timewait) throws Exception {
final AtomicInteger logCounts = new AtomicInteger(0);
- DefaultTestAppender appender = new DefaultTestAppender() {
+
+ // start new
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel() == Level.INFO) {
+ public void append(LogEvent event) {
+ if (Level.INFO.equals(event.getLevel())) {
logCounts.incrementAndGet();
}
}
};
+ appender.start();
- Logger.getRootLogger().addAppender(appender);
+ Configurator.setRootLevel(Level.DEBUG);
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
final AtomicInteger errors = new AtomicInteger(0);
@@ -163,8 +173,7 @@ public class SharedFileLockerTest {
} finally {
-
- Logger.getRootLogger().removeAppender(appender);
+ logger.removeAppender(appender);
// to make sure we won't leak threads if the test ever failed for any reason
thread.join(1000);
@@ -182,14 +191,18 @@ public class SharedFileLockerTest {
public void verifyLockAcquireWaitsForLockDrop() throws Exception {
final AtomicInteger logCounts = new AtomicInteger(0);
- DefaultTestAppender appender = new DefaultTestAppender() {
+ // start new
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(SharedFileLocker.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
+ public void append(LogEvent event) {
logCounts.incrementAndGet();
}
};
- Logger sharedFileLogger = Logger.getLogger(SharedFileLocker.class);
- sharedFileLogger.addAppender(appender);
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
LockableServiceSupport config = new LockableServiceSupport() {
@@ -261,7 +274,7 @@ public class SharedFileLockerTest {
executorService.shutdownNow();
underTest.stop();
lockFile.delete();
- sharedFileLogger.removeAppender(appender);
+ logger.removeAppender(appender);
}
}
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCConcurrentDLQTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCConcurrentDLQTest.java
index 8fc94d1..85b502c 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCConcurrentDLQTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCConcurrentDLQTest.java
@@ -23,9 +23,14 @@ import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.region.RegionBroker;
import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.util.DefaultIOExceptionHandler;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -61,22 +66,31 @@ public class JDBCConcurrentDLQTest {
broker.start();
broker.waitUntilStarted();
- appender = new DefaultTestAppender() {
+ final var jdbcLogger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(JDBCPersistenceAdapter.class));
+ final var regionLogger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(RegionBroker.class));
+
+ appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(org.apache.log4j.spi.LoggingEvent event) {
- if (event.getLevel().toInt() > Level.INFO_INT) {
- LOG.error("Got error from log:" + event.getRenderedMessage());
+ public void append(LogEvent event) {
+ if (event.getLevel().isMoreSpecificThan(Level.INFO)) {
+ LOG.error("Got error from log:" + event.getMessage().getFormattedMessage());
gotError.set(true);
}
}
};
+ appender.start();
+
+ jdbcLogger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ jdbcLogger.addAppender(appender);
+
+ regionLogger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ regionLogger.addAppender(appender);
}
@After
public void tearDown() throws Exception {
- org.apache.log4j.Logger.getLogger(RegionBroker.class).removeAppender(appender);
- org.apache.log4j.Logger.getLogger(JDBCPersistenceAdapter.class).removeAppender(appender);
-
+ ((org.apache.logging.log4j.core.Logger)LogManager.getLogger(RegionBroker.class)).removeAppender(appender);
+ ((org.apache.logging.log4j.core.Logger)LogManager.getLogger(JDBCPersistenceAdapter.class)).removeAppender(appender);
broker.stop();
}
@@ -108,8 +122,15 @@ public class JDBCConcurrentDLQTest {
gotError.set(true);
}
});
- org.apache.log4j.Logger.getLogger(RegionBroker.class).addAppender(appender);
- org.apache.log4j.Logger.getLogger(JDBCPersistenceAdapter.class).addAppender(appender);
+
+ final var loggerRB = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(RegionBroker.class));
+ final var loggerJDBC = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(JDBCPersistenceAdapter.class));
+
+ loggerRB.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ loggerRB.addAppender(appender);
+
+ loggerJDBC.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ loggerJDBC.addAppender(appender);
final int numMessages = 100;
final AtomicInteger consumed = new AtomicInteger(numMessages);
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCIOExceptionHandlerTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCIOExceptionHandlerTest.java
index a88c50f..2f212ae 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCIOExceptionHandlerTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/jdbc/JDBCIOExceptionHandlerTest.java
@@ -48,8 +48,13 @@ import org.apache.activemq.util.IOHelper;
import org.apache.activemq.util.LeaseLockerIOExceptionHandler;
import org.apache.activemq.util.Wait;
import org.apache.derby.jdbc.EmbeddedDataSource;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -124,25 +129,27 @@ public class JDBCIOExceptionHandlerTest {
final AtomicBoolean connectorStarted = new AtomicBoolean(false);
final AtomicBoolean connectorStopped = new AtomicBoolean(false);
- DefaultTestAppender appender = new DefaultTestAppender() {
-
+ // start new
+ final var rootLogger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getMessage().toString().startsWith("JMX consoles can connect to")) {
+ public void append(LogEvent event) {
+ if (event.getMessage().getFormattedMessage().startsWith("JMX consoles can connect to")) {
connectorStarted.set(true);
}
- if (event.getMessage().toString().equals("Stopping jmx connector")) {
+ if (event.getMessage().getFormattedMessage().equals("Stopping jmx connector")) {
connectorStopped.set(true);
}
}
};
+ appender.start();
- org.apache.log4j.Logger rootLogger = org.apache.log4j.Logger.getRootLogger();
Level previousLevel = rootLogger.getLevel();
- rootLogger.setLevel(Level.DEBUG);
+ rootLogger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
rootLogger.addAppender(appender);
-
+ rootLogger.setLevel(Level.DEBUG);
+ // end new
BrokerService broker = new BrokerService();
broker.getManagementContext().setCreateConnector(true);
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapterTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapterTest.java
index f509011..3e2b634 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapterTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBPersistenceAdapterTest.java
@@ -20,14 +20,15 @@ import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.store.PersistenceAdapter;
import org.apache.activemq.store.PersistenceAdapterTestSupport;
import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LogEvent;
import java.io.File;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicBoolean;
+import org.apache.logging.log4j.core.config.Configurator;
/**
*
@@ -53,19 +54,20 @@ public class KahaDBPersistenceAdapterTest extends PersistenceAdapterTestSupport
Appender appender = new DefaultTestAppender() {
@Override
- public void doAppend(LoggingEvent event) {
+ public void append(LogEvent event) {
trappedLogMessages.set(true);
if (event.getLevel().equals(Level.INFO)) {
- if (event.getMessage().toString().contains("Recovery replayed ")) {
+ if (event.getMessage() != null && event.getMessage().getFormattedMessage().contains("Recovery replayed ")) {
gotSomeReplay.set(true);
}
}
}
};
+ appender.start();
try {
- Logger.getLogger(MessageDatabase.class.getName()).addAppender(appender);
- Logger.getLogger(MessageDatabase.class.getName()).setLevel(Level.INFO);
+ Configurator.setLevel(MessageDatabase.class.getName(), Level.INFO);
+ ((org.apache.logging.log4j.core.Logger)LogManager.getLogger(MessageDatabase.class)).addAppender(appender);
brokerService = new BrokerService();
pa = createPersistenceAdapter(false);
@@ -73,8 +75,9 @@ public class KahaDBPersistenceAdapterTest extends PersistenceAdapterTestSupport
brokerService.start();
} finally {
- Logger.getRootLogger().removeAppender(appender);
- Logger.getLogger(MessageDatabase.class.getName()).removeAppender(appender);
+ appender.stop();
+ ((org.apache.logging.log4j.core.Logger)LogManager.getRootLogger()).removeAppender(appender);
+ ((org.apache.logging.log4j.core.Logger)LogManager.getLogger(MessageDatabase.class)).removeAppender(appender);
}
assertTrue("log capture working", trappedLogMessages.get());
assertFalse("no replay message in the log", gotSomeReplay.get());
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBTest.java
index 74d2bb8..53306bd 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/store/kahadb/KahaDBTest.java
@@ -32,10 +32,13 @@ import junit.framework.TestCase;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.command.ActiveMQQueue;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
/**
* @author chirino
@@ -209,16 +212,19 @@ public class KahaDBTest extends TestCase {
kaha.setCheckForCorruptJournalFiles(true);
final AtomicBoolean didSomeRecovery = new AtomicBoolean(false);
- DefaultTestAppender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel() == Level.INFO && event.getRenderedMessage().contains("Recovering from the journal @")) {
+ public void append(LogEvent event) {
+ if (Level.INFO.equals(event.getLevel()) && event.getMessage().getFormattedMessage().contains("Recovering from the journal @")) {
didSomeRecovery.set(true);
}
}
};
+ appender.start();
- Logger.getRootLogger().addAppender(appender);
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
broker = createBroker(kaha);
@@ -226,7 +232,7 @@ public class KahaDBTest extends TestCase {
assertEquals("Expected to received all messages.", count, 100);
broker.stop();
- Logger.getRootLogger().removeAppender(appender);
+ logger.removeAppender(appender);
assertFalse("Did not replay any records from the journal", didSomeRecovery.get());
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/failover/AMQ1925Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/failover/AMQ1925Test.java
index dfb5dfd..16d3a9f 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/failover/AMQ1925Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/failover/AMQ1925Test.java
@@ -43,7 +43,8 @@ import org.apache.activemq.broker.region.Destination;
import org.apache.activemq.broker.region.Queue;
import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.util.ServiceStopper;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* TestCase showing the message-destroying described in AMQ-1925
@@ -51,7 +52,7 @@ import org.apache.log4j.Logger;
*
*/
public class AMQ1925Test extends TestCase implements ExceptionListener {
- private static final Logger log = Logger.getLogger(AMQ1925Test.class);
+ private static final Logger log = LoggerFactory.getLogger(AMQ1925Test.class);
private static final String QUEUE_NAME = "test.amq1925";
private static final String PROPERTY_MSG_NUMBER = "NUMBER";
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverUpdateURIsTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverUpdateURIsTest.java
index 9c9b2fd..9566cd8 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverUpdateURIsTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/failover/FailoverUpdateURIsTest.java
@@ -33,12 +33,13 @@ import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.TransportConnector;
import org.apache.activemq.network.NetworkConnector;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class FailoverUpdateURIsTest extends TestCase {
private static final String QUEUE_NAME = "test.failoverupdateuris";
- private static final Logger LOG = Logger.getLogger(FailoverUpdateURIsTest.class);
+ private static final Logger LOG = LoggerFactory.getLogger(FailoverUpdateURIsTest.class);
String firstTcpUri = "tcp://localhost:61616";
String secondTcpUri = "tcp://localhost:61626";
@@ -64,10 +65,10 @@ public class FailoverUpdateURIsTest extends TestCase {
String targetDir = "target/" + getName();
new File(targetDir).mkdir();
File updateFile = new File(targetDir + "/updateURIsFile.txt");
- LOG.info(updateFile);
- LOG.info(updateFile.toURI());
- LOG.info(updateFile.getAbsoluteFile());
- LOG.info(updateFile.getAbsoluteFile().toURI());
+ LOG.info("updateFile:" + updateFile);
+ LOG.info("updateFileUri:" + updateFile.toURI());
+ LOG.info("updateFileAbsoluteFile:" + updateFile.getAbsoluteFile());
+ LOG.info("updateFileAbsoluteFileUri:" + updateFile.getAbsoluteFile().toURI());
FileOutputStream out = new FileOutputStream(updateFile);
out.write(firstTcpUri.getBytes());
out.close();
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java
index 2c64eb3..7fddb0e 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/nio/NIOSSLBasicTest.java
@@ -17,21 +17,23 @@
package org.apache.activemq.transport.nio;
import javax.jms.Connection;
-import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
-import javax.net.ssl.SSLHandshakeException;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.TransportConnector;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -114,21 +116,25 @@ public class NIOSSLBasicTest {
final CountDownLatch gotLogMessage = new CountDownLatch(1);
final AtomicBoolean gotRemoteAddressInLog = new AtomicBoolean();
- final DefaultTestAppender appender = new DefaultTestAppender() {
+ // start new
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().equals(Level.WARN) && event.getRenderedMessage().contains("Could not accept connection")) {
+ public void append(LogEvent event) {
+ if (event.getLevel().equals(Level.WARN) && event.getMessage().getFormattedMessage().contains("Could not accept connection")) {
gotLogMessage.countDown();
- if (event.getRenderedMessage().contains("tcp")) {
+ if (event.getMessage().getFormattedMessage().contains("tcp")) {
// got remote address
gotRemoteAddressInLog.set(true);
}
}
}
};
- org.apache.log4j.Logger rootLogger = org.apache.log4j.Logger.getRootLogger();
- rootLogger.addAppender(appender);
+ appender.start();
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+
BrokerService broker = null;
try {
broker = createBroker("nio+ssl", getTransportType() + "://localhost:61616?transport.needClientAuth=true");
@@ -138,7 +144,7 @@ public class NIOSSLBasicTest {
if (broker != null) {
stopBroker(broker);
}
- rootLogger.removeAppender(appender);
+ logger.removeAppender(appender);
assertTrue("Got remote address in log", gotRemoteAddressInLog.get());
}
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/tcp/TcpTransportCloseSocketNoWarnTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/tcp/TcpTransportCloseSocketNoWarnTest.java
index 28c4c9d..3be00bd 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/tcp/TcpTransportCloseSocketNoWarnTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/tcp/TcpTransportCloseSocketNoWarnTest.java
@@ -19,11 +19,16 @@ package org.apache.activemq.transport.tcp;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.TransportConnection;
import org.apache.activemq.broker.TransportConnector;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.Logger;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -32,7 +37,6 @@ import org.slf4j.LoggerFactory;
import javax.net.ssl.*;
import java.net.Socket;
import java.net.URI;
-import java.sql.Time;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -48,9 +52,11 @@ public class TcpTransportCloseSocketNoWarnTest {
public static final String PASSWORD = "password";
public static final String SERVER_KEYSTORE = "src/test/resources/server.keystore";
public static final String TRUST_KEYSTORE = "src/test/resources/client.keystore";
+ public static final Appender appender;
+ public static final AtomicBoolean gotExceptionInLog = new AtomicBoolean();
private BrokerService brokerService;
-
+ private Logger rootLogger;
static {
System.setProperty("javax.net.ssl.trustStore", TRUST_KEYSTORE);
@@ -59,20 +65,20 @@ public class TcpTransportCloseSocketNoWarnTest {
System.setProperty("javax.net.ssl.keyStore", SERVER_KEYSTORE);
System.setProperty("javax.net.ssl.keyStorePassword", PASSWORD);
System.setProperty("javax.net.ssl.keyStoreType", KEYSTORE_TYPE);
- }
-
- final AtomicBoolean gotExceptionInLog = new AtomicBoolean();
- Appender appender = new DefaultTestAppender() {
- @Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().equals(Level.WARN) && event.getRenderedMessage().contains("failed:")) {
- gotExceptionInLog.set(Boolean.TRUE);
- LOG.error("got event: " + event + ", ex:" + event.getRenderedMessage());
- LOG.error("Event source: ", new Throwable("Here"));
+
+ appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
+ @Override
+ public void append(LogEvent event) {
+ if (event.getLevel().equals(Level.WARN) && event.getMessage().getFormattedMessage().contains("failed:")) {
+ gotExceptionInLog.set(Boolean.TRUE);
+ LOG.error("got event: " + event + ", ex:" + event.getMessage().getFormattedMessage());
+ LOG.error("Event source: ", new Throwable("Here"));
+ }
+ return;
}
- return;
- }
- };
+ };
+ appender.start();
+ }
@Before
public void before() throws Exception {
@@ -80,8 +86,11 @@ public class TcpTransportCloseSocketNoWarnTest {
brokerService.setPersistent(false);
brokerService.setUseJmx(false);
- Logger.getRootLogger().addAppender(appender);
- Logger.getLogger(TransportConnection.class.getName() + ".Transport").setLevel(Level.WARN);
+ rootLogger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ rootLogger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ rootLogger.addAppender(appender);
+
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(TransportConnection.class.getName() + ".Transport")).setLevel(Level.WARN);
}
@After
@@ -90,7 +99,7 @@ public class TcpTransportCloseSocketNoWarnTest {
brokerService.stop();
brokerService.waitUntilStopped();
}
- Logger.getRootLogger().removeAppender(appender);
+ rootLogger.removeAppender(appender);
}
@Test(timeout = 60000)
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/tcp/TcpTransportInactiveDuringHandshakeTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/tcp/TcpTransportInactiveDuringHandshakeTest.java
index 995f798..5c88fef 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/tcp/TcpTransportInactiveDuringHandshakeTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/tcp/TcpTransportInactiveDuringHandshakeTest.java
@@ -18,10 +18,15 @@ package org.apache.activemq.transport.tcp;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.TransportConnector;
-import org.apache.activemq.util.DefaultTestAppender;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.Appender;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -59,7 +64,7 @@ public class TcpTransportInactiveDuringHandshakeTest {
}
private BrokerService brokerService;
- private DefaultTestAppender appender;
+ private Appender appender;
CountDownLatch inactivityMonitorFired;
CountDownLatch handShakeComplete;
@@ -71,23 +76,24 @@ public class TcpTransportInactiveDuringHandshakeTest {
inactivityMonitorFired = new CountDownLatch(1);
handShakeComplete = new CountDownLatch(1);
- appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().equals(Level.WARN) && event.getRenderedMessage().contains("InactivityIOException")) {
+ public void append(LogEvent event) {
+ if (Level.WARN.equals(event.getLevel()) && event.getMessage().getFormattedMessage().contains("InactivityIOException")) {
inactivityMonitorFired.countDown();
}
}
};
- org.apache.log4j.Logger rootLogger = org.apache.log4j.Logger.getRootLogger();
- rootLogger.addAppender(appender);
+ appender.start();
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
}
@After
public void after() throws Exception {
- org.apache.log4j.Logger rootLogger = org.apache.log4j.Logger.getRootLogger();
- rootLogger.removeAppender(appender);
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger()).removeAppender(appender);;
if (brokerService != null) {
brokerService.stop();
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/vm/VmTransportNetworkBrokerTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/vm/VmTransportNetworkBrokerTest.java
index dc782a2..77377c3 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/transport/vm/VmTransportNetworkBrokerTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/transport/vm/VmTransportNetworkBrokerTest.java
@@ -35,10 +35,14 @@ import org.apache.activemq.command.ActiveMQTopic;
import org.apache.activemq.network.DurableConduitBridge;
import org.apache.activemq.network.NetworkConnector;
-import org.apache.activemq.util.DefaultTestAppender;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.Ignore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -158,16 +162,20 @@ public class VmTransportNetworkBrokerTest extends TestCase {
vmConnection.close();
final AtomicInteger logCounts = new AtomicInteger(0);
- DefaultTestAppender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(DurableConduitBridge.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel() == Level.ERROR) {
+ public void append(LogEvent event) {
+ if (Level.ERROR.equals(event.getLevel())) {
logCounts.incrementAndGet();
}
}
};
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
- org.apache.log4j.Logger.getLogger(DurableConduitBridge.class).addAppender(appender);
try {
NetworkConnector networkConnector = forwarder.addNetworkConnector("static:("
@@ -185,7 +193,7 @@ public class VmTransportNetworkBrokerTest extends TestCase {
assertEquals("no errors", 0, logCounts.get());
} finally {
- org.apache.log4j.Logger.getLogger(DurableConduitBridge.class).removeAppender(appender);
+ logger.removeAppender(appender);
}
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usage/StoreUsageLimitsTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usage/StoreUsageLimitsTest.java
index 22d5fd0..40112e7 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usage/StoreUsageLimitsTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usage/StoreUsageLimitsTest.java
@@ -24,11 +24,13 @@ import org.apache.activemq.ConfigurationException;
import org.junit.Test;
import org.apache.activemq.broker.BrokerService;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
-
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -52,42 +54,50 @@ public class StoreUsageLimitsTest {
public void testCheckLimitsLogLevel() throws Exception {
final CountDownLatch foundMessage = new CountDownLatch(1);
- DefaultTestAppender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- String message = (String) event.getMessage();
+ public void append(LogEvent event) {
+ String message = event.getMessage().getFormattedMessage();
if (message.contains(toMatch) && event.getLevel().equals(Level.WARN)) {
foundMessage.countDown();
}
}
};
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
- Logger.getRootLogger().addAppender(appender);
BrokerService brokerService = createBroker();
brokerService.start();
brokerService.stop();
assertTrue("Fount log message", foundMessage.await(WAIT_TIME_MILLS, TimeUnit.MILLISECONDS));
- Logger.getRootLogger().removeAppender(appender);
+ logger.removeAppender(appender);
}
@Test
public void testCheckLimitsFailStart() throws Exception {
final CountDownLatch foundMessage = new CountDownLatch(1);
- DefaultTestAppender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- String message = (String) event.getMessage();
+ public void append(LogEvent event) {
+ String message = event.getMessage().getFormattedMessage();
if (message.contains(toMatch) && event.getLevel().equals(Level.ERROR)) {
foundMessage.countDown();
}
}
};
+ appender.start();
- Logger.getRootLogger().addAppender(appender);
- BrokerService brokerService = createBroker();
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+
+ BrokerService brokerService = createBroker();
brokerService.setAdjustUsageLimits(false);
try {
brokerService.start();
@@ -99,6 +109,6 @@ public class StoreUsageLimitsTest {
assertTrue("Fount log message", foundMessage.await(WAIT_TIME_MILLS, TimeUnit.MILLISECONDS));
- Logger.getRootLogger().removeAppender(appender);
+ logger.removeAppender(appender);
}
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/AMQ6446Test.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/AMQ6446Test.java
index ecc570f..d94a2a5 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/AMQ6446Test.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/AMQ6446Test.java
@@ -19,12 +19,15 @@ package org.apache.activemq.usecases;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Configurator;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
-import org.junit.Before;
import org.junit.Test;
import javax.jms.Connection;
@@ -49,16 +52,19 @@ public class AMQ6446Test {
final HashSet<String> loggers = new HashSet<String>();
final HashSet<String> messages = new HashSet<String>();
- DefaultTestAppender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
+ public void append(LogEvent event) {
loggers.add(event.getLoggerName());
- messages.add(event.getRenderedMessage());
+ messages.add(event.getMessage().getFormattedMessage());
}
};
+ appender.start();
- Logger.getRootLogger().addAppender(appender);
- Logger.getRootLogger().setLevel(Level.DEBUG);
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+ Configurator.setRootLevel(Level.DEBUG);
String brokerUrlWithTrace = brokerService.getTransportConnectorByScheme("tcp").getPublishableConnectString() +
urlTraceParam;
@@ -70,7 +76,7 @@ public class AMQ6446Test {
connections.add(c);
}
- Logger.getRootLogger().removeAppender(appender);
+ logger.removeAppender(appender);
// no logger ends with :2
assertFalse(foundMatch(loggers, ".*:2$"));
@@ -101,16 +107,19 @@ public class AMQ6446Test {
final HashSet<String> loggers = new HashSet<String>();
final HashSet<String> messages = new HashSet<String>();
- DefaultTestAppender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
+ public void append(LogEvent event) {
loggers.add(event.getLoggerName());
- messages.add(event.getRenderedMessage());
+ messages.add(event.getMessage().getFormattedMessage());
}
};
+ appender.start();
- Logger.getRootLogger().addAppender(appender);
- Logger.getRootLogger().setLevel(Level.TRACE);
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+ Configurator.setRootLevel(Level.TRACE);
String brokerUrlWithTrace = brokerService.getTransportConnectorByScheme("tcp").getPublishableConnectString() +
legacySupportParam;
@@ -122,7 +131,7 @@ public class AMQ6446Test {
connections.add(c);
}
- Logger.getRootLogger().removeAppender(appender);
+ logger.removeAppender(appender);
// logger ends with :2
assertTrue(foundMatch(loggers, ".*:2$"));
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/ClientRebalanceTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/ClientRebalanceTest.java
index 4094ed3..d57fe7f 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/ClientRebalanceTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/ClientRebalanceTest.java
@@ -30,11 +30,12 @@ import org.apache.activemq.JmsMultipleBrokersTestSupport;
import org.apache.activemq.broker.TransportConnection;
import org.apache.activemq.broker.TransportConnector;
import org.apache.activemq.command.ConnectionControl;
-import org.apache.log4j.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;
public class ClientRebalanceTest extends JmsMultipleBrokersTestSupport {
- private static final Logger LOG = Logger.getLogger(ClientRebalanceTest.class);
+ private static final Logger LOG = LoggerFactory.getLogger(ClientRebalanceTest.class);
private static final String QUEUE_NAME = "Test.ClientRebalanceTest";
protected void setUp() throws Exception {
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/DurableSubCacheTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/DurableSubCacheTest.java
index 17d1931..db26cd3 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/DurableSubCacheTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/DurableSubCacheTest.java
@@ -23,10 +23,13 @@ import org.apache.activemq.broker.region.cursors.AbstractStoreCursor;
import org.apache.activemq.broker.region.policy.PolicyEntry;
import org.apache.activemq.broker.region.policy.PolicyMap;
import org.apache.activemq.command.ActiveMQTopic;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -99,24 +102,26 @@ public class DurableSubCacheTest {
publishMesssages(topic, 20);
- org.apache.log4j.Logger log4jLogger = org.apache.log4j.Logger.getLogger(AbstractStoreCursor.class.getCanonicalName());
final AtomicBoolean failed = new AtomicBoolean(false);
-
- Appender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(AbstractStoreCursor.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel() == Level.WARN) {
- LOG.info("Got warn event:" + event.getRenderedMessage());
+ public void append(LogEvent event) {
+ if (Level.WARN.equals(event.getLevel())) {
+ LOG.info("Got warn event:" + event.getMessage().getFormattedMessage());
failed.set(true);
}
}
};
- log4jLogger.addAppender(appender);
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
try {
consumeDurableSub(topic, "my_sub_1", 20, prefetch);
} finally {
- log4jLogger.removeAppender(appender);
+ logger.removeAppender(appender);
}
assertFalse("no warning from the cursor", failed.get());
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/EmptyTransactionTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/EmptyTransactionTest.java
index e4f6196..c148c2d 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/EmptyTransactionTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/EmptyTransactionTest.java
@@ -22,9 +22,6 @@ import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter;
import org.apache.activemq.store.kahadb.MessageDatabase;
-import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.spi.LoggingEvent;
-import org.junit.experimental.theories.Theories;
import javax.jms.Connection;
import javax.jms.DeliveryMode;
@@ -34,6 +31,14 @@ import javax.jms.Session;
import javax.jms.TextMessage;
import java.util.concurrent.atomic.AtomicBoolean;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
+
public class EmptyTransactionTest extends TestCase {
private static final int CHECKPOINT_INTERVAL = 500;
@@ -42,16 +47,20 @@ public class EmptyTransactionTest extends TestCase {
public void testEmptyTransactionsCheckpoint() throws Exception {
AtomicBoolean hadRecovery = new AtomicBoolean(false);
- DefaultTestAppender appender = new DefaultTestAppender() {
+
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(MessageDatabase.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getMessage().toString().contains("Recovering from the journal @")) {
- hadRecovery.set(true);
- }
+ public void append(LogEvent event) {
+ if (event.getMessage().toString().contains("Recovering from the journal @")) {
+ hadRecovery.set(true);
+ }
}
};
+ appender.start();
- org.apache.log4j.Logger.getLogger(MessageDatabase.class).addAppender(appender);
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
start(true);
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/OfflineDurableSubscriberTimeoutTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/OfflineDurableSubscriberTimeoutTest.java
index 521e256..632471b 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/OfflineDurableSubscriberTimeoutTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/OfflineDurableSubscriberTimeoutTest.java
@@ -30,11 +30,14 @@ import org.apache.activemq.broker.region.policy.PolicyMap;
import org.apache.activemq.command.ActiveMQDestination;
import org.apache.activemq.command.ActiveMQTopic;
import org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter;
-import org.apache.activemq.util.DefaultTestAppender;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -119,23 +122,25 @@ public class OfflineDurableSubscriberTimeoutTest extends org.apache.activemq.Tes
public void testOfflineDurableSubscriberTimeout() throws Exception {
final AtomicBoolean foundLogMessage = new AtomicBoolean(false);
- Appender appender = new DefaultTestAppender() {
+ // start new
+ final var loggerMRB = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(ManagedRegionBroker.class));
+ final var loggerTopic = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(org.apache.activemq.broker.region.Topic.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().isGreaterOrEqual(Level.WARN)) {
+ public void append(LogEvent event) {
+ if (event.getLevel().isLessSpecificThan(Level.WARN)) {
LOG.info("received unexpected log message: " + event.getMessage());
foundLogMessage.set(true);
}
}
};
+ appender.start();
- org.apache.log4j.Logger log4jLoggerMRB =
- org.apache.log4j.Logger.getLogger(ManagedRegionBroker.class);
- org.apache.log4j.Logger log4jLoggerT =
- org.apache.log4j.Logger.getLogger(org.apache.activemq.broker.region.Topic.class);
+ loggerMRB.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ loggerMRB.addAppender(appender);
- log4jLoggerMRB.addAppender(appender);
- log4jLoggerT.addAppender(appender);
+ loggerTopic.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ loggerTopic.addAppender(appender);
try {
@@ -199,8 +204,8 @@ public class OfflineDurableSubscriberTimeoutTest extends org.apache.activemq.Tes
assertFalse("have not found any log warn/error", foundLogMessage.get());
} finally {
- log4jLoggerMRB.removeAppender(appender);
- log4jLoggerT.removeAppender(appender);
+ loggerMRB.removeAppender(appender);
+ loggerTopic.removeAppender(appender);
}
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/RequestReplyTempDestRemovalAdvisoryRaceTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/RequestReplyTempDestRemovalAdvisoryRaceTest.java
index 4822e02..7163da1 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/RequestReplyTempDestRemovalAdvisoryRaceTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/RequestReplyTempDestRemovalAdvisoryRaceTest.java
@@ -52,9 +52,13 @@ import org.apache.activemq.network.DemandForwardingBridgeSupport;
import org.apache.activemq.network.NetworkBridge;
import org.apache.activemq.network.NetworkConnector;
import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -85,7 +89,7 @@ public class RequestReplyTempDestRemovalAdvisoryRaceTest extends JmsMultipleBrok
protected final AtomicBoolean shutdown = new AtomicBoolean(false);
HashSet<NetworkConnector> networkConnectors = new HashSet<NetworkConnector>();
HashSet<Connection> advisoryConsumerConnections = new HashSet<Connection>();
- Appender slowDownAppender;
+ AbstractAppender slowDownAppender;
CountDownLatch consumerDemandExists;
@@ -263,15 +267,16 @@ public class RequestReplyTempDestRemovalAdvisoryRaceTest extends JmsMultipleBrok
private void slowDownAdvisoryDispatch() throws Exception {
- org.apache.log4j.Logger.getLogger(DemandForwardingBridgeSupport.class).setLevel(Level.DEBUG);
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(DemandForwardingBridgeSupport.class)).setLevel(Level.DEBUG);
// instrument a logger to block the processing of a remove sub advisory
// simulate a slow thread
- slowDownAppender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger());
+ slowDownAppender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent loggingEvent) {
- if (Level.DEBUG.equals(loggingEvent.getLevel())) {
- String message = loggingEvent.getMessage().toString();
+ public void append(LogEvent event) {
+ if (Level.DEBUG.equals(event.getLevel())) {
+ String message = event.getMessage().getFormattedMessage();
if (message.startsWith("BrokerB") && message.contains("remove local subscription")) {
// sleep for a bit
try {
@@ -285,8 +290,10 @@ public class RequestReplyTempDestRemovalAdvisoryRaceTest extends JmsMultipleBrok
}
}
};
+ slowDownAppender.start();
- org.apache.log4j.Logger.getRootLogger().addAppender(slowDownAppender);
+ logger.get().addAppender(slowDownAppender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(slowDownAppender);
}
@Override
@@ -320,7 +327,7 @@ public class RequestReplyTempDestRemovalAdvisoryRaceTest extends JmsMultipleBrok
@Override
protected void tearDown() throws Exception {
if (slowDownAppender != null) {
- org.apache.log4j.Logger.getRootLogger().removeAppender(slowDownAppender);
+ org.apache.logging.log4j.core.Logger.class.cast(LogManager.getRootLogger()).removeAppender(slowDownAppender);
}
for (Connection connection : advisoryConsumerConnections) {
connection.close();
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/TopicProducerFlowControlTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/TopicProducerFlowControlTest.java
index b26f36e..6d3adf7 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/TopicProducerFlowControlTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/TopicProducerFlowControlTest.java
@@ -35,17 +35,19 @@ import org.apache.activemq.ActiveMQPrefetchPolicy;
import org.apache.activemq.advisory.AdvisorySupport;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.TransportConnection;
-import org.apache.activemq.broker.region.RegionBroker;
import org.apache.activemq.broker.region.Topic;
import org.apache.activemq.broker.region.policy.PolicyEntry;
import org.apache.activemq.broker.region.policy.PolicyMap;
import org.apache.activemq.command.ActiveMQDestination;
import org.apache.activemq.command.ActiveMQTopic;
-import org.apache.activemq.util.DefaultTestAppender;
import org.apache.activemq.util.Wait;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -141,18 +143,21 @@ public class TopicProducerFlowControlTest extends TestCase implements MessageLis
});
final AtomicInteger warnings = new AtomicInteger();
- Appender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(Topic.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().equals(Level.WARN) && event.getMessage().toString().contains("Usage Manager memory limit reached")) {
+ public void append(LogEvent event) {
+ if (event.getLevel().equals(Level.WARN) && event.getMessage().getFormattedMessage().contains("Usage Manager memory limit reached")) {
LOG.info("received log message: " + event.getMessage());
warnings.incrementAndGet();
}
}
};
- org.apache.log4j.Logger log4jLogger =
- org.apache.log4j.Logger.getLogger(Topic.class);
- log4jLogger.addAppender(appender);
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+
try {
// Start producing the test messages
@@ -204,7 +209,7 @@ public class TopicProducerFlowControlTest extends TestCase implements MessageLis
assertTrue("warning limited", warnings.get() < blockedCounter.get());
} finally {
- log4jLogger.removeAppender(appender);
+ logger.removeAppender(appender);
}
}
@@ -234,20 +239,22 @@ public class TopicProducerFlowControlTest extends TestCase implements MessageLis
Session listenerSession = c.createSession(false, 1);
Destination destination = createDestination(listenerSession);
-
final AtomicInteger warnings = new AtomicInteger();
- Appender appender = new DefaultTestAppender() {
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(Topic.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel().equals(Level.WARN) && event.getMessage().toString().contains("Usage Manager memory limit reached")) {
+ public void append(LogEvent event) {
+ if (event.getLevel().equals(Level.WARN) && event.getMessage().getFormattedMessage().contains("Usage Manager memory limit reached")) {
LOG.info("received log message: " + event.getMessage());
warnings.incrementAndGet();
}
}
};
- org.apache.log4j.Logger log4jLogger =
- org.apache.log4j.Logger.getLogger(Topic.class);
- log4jLogger.addAppender(appender);
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
+
try {
// Start producing the test messages
@@ -319,7 +326,7 @@ public class TopicProducerFlowControlTest extends TestCase implements MessageLis
assertEquals("nothing sent during close", enqueueCountWhenBlocked, broker.getDestination(ActiveMQDestination.transform(destination)).getDestinationStatistics().getEnqueues().getCount());
}
} finally {
- log4jLogger.removeAppender(appender);
+ logger.removeAppender(appender);
}
}
diff --git a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/UsageBlockedDispatchTest.java b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/UsageBlockedDispatchTest.java
index dba73c1..c29dd0f 100644
--- a/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/UsageBlockedDispatchTest.java
+++ b/activemq-unit-tests/src/test/java/org/apache/activemq/usecases/UsageBlockedDispatchTest.java
@@ -26,10 +26,13 @@ import org.apache.activemq.broker.region.policy.PolicyMap;
import org.apache.activemq.command.ActiveMQQueue;
import org.apache.activemq.usage.SystemUsage;
import org.apache.activemq.util.DefaultTestAppender;
-import org.apache.log4j.Appender;
-import org.apache.log4j.Level;
-import org.apache.log4j.spi.LoggingEvent;
-
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import org.apache.logging.log4j.core.config.Property;
+import org.apache.logging.log4j.core.filter.AbstractFilter;
+import org.apache.logging.log4j.core.layout.MessageLayout;
import javax.jms.*;
import java.io.File;
import java.io.IOException;
@@ -134,18 +137,22 @@ public class UsageBlockedDispatchTest extends TestSupport {
consumer.receive(messageReceiveTimeout);
final AtomicBoolean gotExpectedLogEvent = new AtomicBoolean(false);
- Appender appender = new DefaultTestAppender() {
-
+ // start new
+ final var logger = org.apache.logging.log4j.core.Logger.class.cast(LogManager.getLogger(Queue.class));
+ final var appender = new AbstractAppender("testAppender", new AbstractFilter() {}, new MessageLayout(), false, new Property[0]) {
@Override
- public void doAppend(LoggingEvent event) {
- if (event.getLevel() == Level.WARN && event.getRenderedMessage().contains("cursor blocked")) {
+ public void append(LogEvent event) {
+ if (Level.WARN.equals(event.getLevel()) && event.getMessage().getFormattedMessage().contains("cursor blocked")) {
gotExpectedLogEvent.set(true);
}
}
};
+ appender.start();
+
+ logger.get().addAppender(appender, Level.DEBUG, new AbstractFilter() {});
+ logger.addAppender(appender);
try {
- org.apache.log4j.Logger.getLogger(Queue.class).addAppender(appender);
MessageConsumer noDispatchConsumer = consumerSession.createConsumer(shouldBeStuckForDispatch);
@@ -154,8 +161,7 @@ public class UsageBlockedDispatchTest extends TestSupport {
assertTrue("Got the new warning about the blocked cursor", gotExpectedLogEvent.get());
} finally {
- org.apache.log4j.Logger.getLogger(Queue.class).removeAppender(appender);
- org.apache.log4j.Logger.getRootLogger().removeAppender(appender);
+ logger.removeAppender(appender);
}
}
}
diff --git a/activemq-unit-tests/src/test/resources/log4j.properties b/activemq-unit-tests/src/test/resources/log4j.properties
deleted file mode 100644
index 42d8c80..0000000
--- a/activemq-unit-tests/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,47 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements. See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License. You may obtain a copy of the License at
-##
-## http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-
-#
-# The logging properties used during tests..
-#
-log4j.rootLogger=INFO, out, stdout
-
-#log4j.logger.org.apache.activemq.broker.scheduler=DEBUG
-#log4j.logger.org.apache.activemq.store.kahadb.scheduler=DEBUG
-#log4j.logger.org.apache.activemq.network.DemandForwardingBridgeSupport=DEBUG
-#log4j.logger.org.apache.activemq.transport.failover=TRACE
-#log4j.logger.org.apache.activemq.transport.TransportLogger.Connection=TRACE
-#log4j.logger.org.apache.activemq.store.jdbc=TRACE
-#log4j.logger.org.apache.activemq.store.kahadb=TRACE
-#log4j.logger.org.apache.activemq.broker.region.cursors.AbstractStoreCursor=DEBUG
-#log4j.logger.org.apache.activemq.store.jdbc.JDBCMessageStore=DEBUG
-#log4j.logger.org.apache.activemq.store.kahadb.disk.journal=DEBUG
-#log4j.logger.org.apache.activemq.store.kahadb.AbstractKahaDBStore=DEBUG
-
-# CONSOLE appender not used by default
-log4j.appender.stdout=org.apache.log4j.ConsoleAppender
-log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
-log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] - %-5p %-30.30c{1} - %m%n
-#log4j.appender.stdout.layout.ConversionPattern=%d [%-15.15t] - %-5p %-30.30c{1} - %-10.10X{activemq.broker} %-20.20X{activemq.connector} %-10.10X{activemq.destination} - %m%n
-
-# File appender
-log4j.appender.out=org.apache.log4j.FileAppender
-log4j.appender.out.layout=org.apache.log4j.PatternLayout
-log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] - %-5p %-30.30c{1} - %m%n
-#log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] - %-5p %-30.30c{1} - %-10.10X{activemq.broker} %-20.20X{activemq.connector} %-10.10X{activemq.destination} - %m%n
-log4j.appender.out.file=target/activemq-test.log
-log4j.appender.out.append=true
diff --git a/activemq-unit-tests/src/test/resources/log4j2-test.properties b/activemq-unit-tests/src/test/resources/log4j2-test.properties
new file mode 100644
index 0000000..16e26c5
--- /dev/null
+++ b/activemq-unit-tests/src/test/resources/log4j2-test.properties
@@ -0,0 +1,55 @@
+## ---------------------------------------------------------------------------
+## Licensed to the Apache Software Foundation (ASF) under one or more
+## contributor license agreements. See the NOTICE file distributed with
+## this work for additional information regarding copyright ownership.
+## The ASF licenses this file to You under the Apache License, Version 2.0
+## (the "License"); you may not use this file except in compliance with
+## the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing, software
+## distributed under the License is distributed on an "AS IS" BASIS,
+## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+## See the License for the specific language governing permissions and
+## limitations under the License.
+## ---------------------------------------------------------------------------
+
+#
+# The logging properties used during tests
+#
+rootLogger.level=INFO
+
+rootLogger.appenderRef.console.ref=Console
+rootLogger.appenderRef.logfile.ref=RollingFile
+
+#logger.scheduler.name=org.apache.activemq.broker.scheduler
+#logger.scheduler.level=DEBUG
+#logger.network.name=org.apache.activemq.network.DemandForwardingBridgeSupport
+#logger.network.level=DEBUG
+#logger.failover.name=org.apache.activemq.transport.failover
+#logger.failover.level=TRACE
+#logger.jdbc.name=org.apache.activemq.store.jdbc
+#logger.jdbc.level=TRACE
+#logger.cursors.name=org.apache.activemq.broker.region.cursors.AbstractStoreCursor
+#logger.cursors.level=DEBUG
+
+# Console appender
+appender.console.type=Console
+appender.console.name=Console
+appender.console.layout.type=PatternLayout
+appender.console.layout.pattern=%d [%-15.15t] - %-5p %-30.30c{1} - %m%n
+#appender.console.layout.pattern=%d [%-15.15t] - %-5p %-30.30c{1} - %-10.10X{activemq.broker} %-20.20X{activemq.connector} %-10.10X{activemq.destination} - %m%n
+
+# RollingFile appender
+appender.logfile.type=RollingRandomAccessFile
+appender.logfile.name=RollingFile
+appender.logfile.fileName=target/activemq-test.log
+appender.logfile.filePattern=target/activemq-test.log.%i
+appender.logfile.append=true
+appender.logfile.layout.type=PatternLayout
+appender.logfile.layout.pattern=%d [%-15.15t] - %-5p %-30.30c{1} - %m%n
+#appender.logfile.layout.pattern=%d [%-15.15t] - %-5p %-30.30c{1} - %-10.10X{activemq.broker} %-20.20X{activemq.connector} %-10.10X{activemq.destination} - %m%n
+appender.logfile.policies.type=Policies
+appender.logfile.policies.size.type=SizeBasedTriggeringPolicy
+appender.logfile.policies.size.size=1MB