Skip to content

Commit 1db3344

Browse files
committed
Use log4j2 instead of logback (for tests)
The project uses slf4j 1.7.x for best compatibility but this implies using a unmaintained version of logback. Log4j2 is still maintained and supports slf4j 1.7.x, so we pick it for the test suite.
1 parent 3e0a4f1 commit 1db3344

File tree

6 files changed

+63
-49
lines changed

6 files changed

+63
-49
lines changed

pom.xml

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@
4949
<properties>
5050
<spotless.check.skip>true</spotless.check.skip>
5151
<slf4j.version>1.7.36</slf4j.version>
52-
<logback.version>1.2.13</logback.version>
5352
<netty.version>4.2.7.Final</netty.version>
5453
<proton-j.version>0.34.1</proton-j.version>
5554
<metrics.version>4.2.37</metrics.version>
@@ -107,6 +106,7 @@
107106
<gpg.skip>true</gpg.skip>
108107
<jose4j.version>0.9.6</jose4j.version>
109108
<bucket4j.version>8.15.0</bucket4j.version>
109+
<log4j.version>2.23.1</log4j.version>
110110
</properties>
111111

112112
<dependencies>
@@ -313,6 +313,12 @@
313313
<artifactId>micrometer-docs-generator</artifactId>
314314
<version>${micrometer-docs-generator.version}</version>
315315
<scope>test</scope>
316+
<exclusions>
317+
<exclusion>
318+
<groupId>ch.qos.logback</groupId>
319+
<artifactId>*</artifactId>
320+
</exclusion>
321+
</exclusions>
316322
</dependency>
317323

318324
<dependency>
@@ -341,12 +347,28 @@
341347
<version>${jmh.version}</version>
342348
<scope>test</scope>
343349
</dependency>
344-
<dependency>
345-
<groupId>ch.qos.logback</groupId>
346-
<artifactId>logback-classic</artifactId>
347-
<version>${logback.version}</version>
348-
<scope>test</scope>
349-
</dependency>
350+
351+
<dependency>
352+
<groupId>org.apache.logging.log4j</groupId>
353+
<artifactId>log4j-slf4j-impl</artifactId>
354+
<version>${log4j.version}</version>
355+
<scope>test</scope>
356+
</dependency>
357+
358+
<dependency>
359+
<groupId>org.apache.logging.log4j</groupId>
360+
<artifactId>log4j-core</artifactId>
361+
<version>${log4j.version}</version>
362+
<scope>test</scope>
363+
</dependency>
364+
365+
<dependency>
366+
<groupId>org.apache.logging.log4j</groupId>
367+
<artifactId>log4j-api</artifactId>
368+
<version>${log4j.version}</version>
369+
<scope>test</scope>
370+
</dependency>
371+
350372
<!-- add explicitly to update automatically with dependabot -->
351373
<dependency>
352374
<groupId>com.google.googlejavaformat</groupId>

src/test/java/com/rabbitmq/stream/impl/RecoveryClusterTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import static java.util.stream.IntStream.range;
2727
import static org.assertj.core.api.Assertions.assertThat;
2828

29-
import ch.qos.logback.classic.Level;
3029
import com.google.common.collect.Streams;
3130
import com.google.common.util.concurrent.RateLimiter;
3231
import com.rabbitmq.stream.BackOffDelayPolicy;
@@ -67,6 +66,7 @@
6766
import java.util.concurrent.atomic.AtomicLong;
6867
import java.util.concurrent.atomic.AtomicReference;
6968
import java.util.stream.IntStream;
69+
import org.apache.logging.log4j.Level;
7070
import org.junit.jupiter.api.AfterAll;
7171
import org.junit.jupiter.api.AfterEach;
7272
import org.junit.jupiter.api.BeforeAll;

src/test/java/com/rabbitmq/stream/impl/TestUtils.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import static org.assertj.core.api.Assertions.assertThat;
2323
import static org.junit.jupiter.api.Assertions.fail;
2424

25-
import ch.qos.logback.classic.Level;
2625
import com.google.gson.Gson;
2726
import com.google.gson.GsonBuilder;
2827
import com.google.gson.JsonElement;
@@ -78,6 +77,9 @@
7877
import java.util.function.Predicate;
7978
import java.util.function.Supplier;
8079
import java.util.stream.IntStream;
80+
import org.apache.logging.log4j.Level;
81+
import org.apache.logging.log4j.LogManager;
82+
import org.apache.logging.log4j.core.config.Configurator;
8183
import org.assertj.core.api.AssertDelegateTarget;
8284
import org.assertj.core.api.Assertions;
8385
import org.assertj.core.api.Condition;
@@ -1078,10 +1080,9 @@ void doesNotComplete(Duration timeout) {
10781080
}
10791081

10801082
static Level newLoggerLevel(Class<?> c, Level level) {
1081-
ch.qos.logback.classic.Logger logger =
1082-
(ch.qos.logback.classic.Logger) LoggerFactory.getLogger(c);
1083-
Level initialLevel = logger.getEffectiveLevel();
1084-
logger.setLevel(level);
1083+
org.apache.logging.log4j.Logger logger = LogManager.getLogger(c);
1084+
Level initialLevel = logger.getLevel();
1085+
Configurator.setLevel(c.getName(), level);
10851086
return initialLevel;
10861087
}
10871088

src/test/java/com/rabbitmq/stream/impl/TestUtilsTest.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
import static org.assertj.core.api.Assertions.assertThat;
1818

19-
import java.util.concurrent.Executor;
2019
import org.junit.jupiter.params.ParameterizedTest;
2120
import org.junit.jupiter.params.provider.CsvSource;
2221

@@ -31,18 +30,4 @@ public class TestUtilsTest {
3130
void atLeastVersion(String expectedVersion, String currentVersion, boolean expected) {
3231
assertThat(TestUtils.atLeastVersion(expectedVersion, currentVersion)).isEqualTo(expected);
3332
}
34-
35-
private static class DelegatingExecutor implements Executor {
36-
37-
private final Executor delegate;
38-
39-
private DelegatingExecutor(Executor delegate) {
40-
this.delegate = delegate;
41-
}
42-
43-
@Override
44-
public void execute(Runnable command) {
45-
delegate.execute(command);
46-
}
47-
}
4833
}

src/test/resources/log4j2-test.xml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Configuration status="WARN">
3+
4+
<Appenders>
5+
<Console name="STDOUT" target="SYSTEM_OUT">
6+
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %c{36} - %msg%n"/>
7+
</Console>
8+
</Appenders>
9+
10+
<Loggers>
11+
12+
<Logger name="com.rabbitmq.stream" level="warn" />
13+
<Logger name="com.rabbitmq.stream.impl.Utils" level="warn" />
14+
<Logger name="com.rabbitmq.stream.impl.StreamEnvironment" level="warn" />
15+
<Logger name="com.rabbitmq.stream.impl.ConsumersCoordinator" level="warn" />
16+
<Logger name="com.rabbitmq.stream.impl.ProducersCoordinator" level="warn" />
17+
<Logger name="com.rabbitmq.stream.impl.RecoveryClusterTest" level="info" />
18+
<Logger name="com.rabbitmq.stream.oauth2" level="warn" />
19+
<Logger name="com.rabbitmq.stream.perf.Version" level="error" />
20+
21+
<Root level="info">
22+
<AppenderRef ref="STDOUT"/>
23+
</Root>
24+
25+
</Loggers>
26+
27+
</Configuration>

src/test/resources/logback-test.xml

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)