This is an automated email from the ASF dual-hosted git repository.
rgoers pushed a commit to branch release-2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/release-2.x by this push:
new 26efbc801b LOG4J2-3493 - ClassArbiter mistakenly used
SystemPropertyArbiter.Builder
26efbc801b is described below
commit 26efbc801b8e87088c0924abde17001cff34a88e
Author: Ralph Goers <[email protected]>
AuthorDate: Sat May 14 12:17:08 2022 -0700
LOG4J2-3493 - ClassArbiter mistakenly used SystemPropertyArbiter.Builder
---
.../logging/log4j/core/config/arbiters/ClassArbiter.java | 4 ++--
.../logging/log4j/core/config/arbiters/BasicArbiterTest.java | 11 +++++++++++
log4j-core/src/test/resources/log4j2-arbiters.xml | 8 ++++++++
src/changes/changes.xml | 3 +++
4 files changed, 24 insertions(+), 2 deletions(-)
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/arbiters/ClassArbiter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/arbiters/ClassArbiter.java
index 53d7330e32..592393168a 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/arbiters/ClassArbiter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/arbiters/ClassArbiter.java
@@ -41,8 +41,8 @@ public class ClassArbiter implements Arbiter {
}
@PluginBuilderFactory
- public static SystemPropertyArbiter.Builder newBuilder() {
- return new SystemPropertyArbiter.Builder();
+ public static ClassArbiter.Builder newBuilder() {
+ return new ClassArbiter.Builder();
}
public static class Builder implements
org.apache.logging.log4j.core.util.Builder<ClassArbiter> {
diff --git
a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/arbiters/BasicArbiterTest.java
b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/arbiters/BasicArbiterTest.java
index d3ecf9a028..f746627c48 100644
---
a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/arbiters/BasicArbiterTest.java
+++
b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/arbiters/BasicArbiterTest.java
@@ -38,6 +38,7 @@ public class BasicArbiterTest {
public void after() {
loggerContext.stop();
loggerContext = null;
+ System.clearProperty("env");
}
@Test
@@ -59,4 +60,14 @@ public class BasicArbiterTest {
assertNotNull(app);
assertTrue(app instanceof ConsoleAppender);
}
+
+ @Test void classArbiterTest() {
+ loggerContext = Configurator.initialize(null, CONFIG);
+ assertNotNull(loggerContext);
+ Appender app =
loggerContext.getConfiguration().getAppender("ShouldExist");
+ assertNotNull(app);
+ assertTrue(app instanceof ListAppender);
+ app = loggerContext.getConfiguration().getAppender("ShouldNotExist");
+ assertNull(app);
+ }
}
diff --git a/log4j-core/src/test/resources/log4j2-arbiters.xml
b/log4j-core/src/test/resources/log4j2-arbiters.xml
index 3cca43829f..8c5464960d 100644
--- a/log4j-core/src/test/resources/log4j2-arbiters.xml
+++ b/log4j-core/src/test/resources/log4j2-arbiters.xml
@@ -28,6 +28,14 @@
<List name="Out">
</List>
</SystemPropertyArbiter>
+ <ClassArbiter
className="org.apache.logging.log4j.core.config.arbiters.ClassArbiter">
+ <List name="ShouldExist">
+ </List>
+ </ClassArbiter>
+ <ClassArbiter className="org.apache.logging.log4j.core.DoesNotExist">
+ <List name="ShouldNotExist">
+ </List>
+ </ClassArbiter>
</Appenders>
<Loggers>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 04e30996fe..283a95ed72 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -31,6 +31,9 @@
-->
<release version="2.18.0" date="2022-TBD" description="GA Release 2.18.0">
<!-- FIXES -->
+ <action issue="LOG4J2-3493" dev="rgoers" type="fix" due-to="Dmytro
Voloshyn">
+ ClassArbiter's newBuilder method referenced the wrong class.
+ </action>
<action issue="LOG4J2-3481" dev="rgoers" type="fix">
HttpWatcher did not pass credentials when polling.
</action>