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>

Reply via email to