Index: log4j-core/src/test/java/org/apache/logging/log4j/core/config/arbiters/ClassArbiterTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/arbiters/ClassArbiterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/arbiters/ClassArbiterTest.java new file mode 100644 --- /dev/null (date 1640862263188) +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/arbiters/ClassArbiterTest.java (date 1640862263188) @@ -0,0 +1,56 @@ +/* + * 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. + */ +package org.apache.logging.log4j.core.config.arbiters; + +import org.apache.logging.log4j.core.Appender; +import org.apache.logging.log4j.core.LoggerContext; +import org.apache.logging.log4j.core.appender.ConsoleAppender; +import org.apache.logging.log4j.core.config.Configurator; +import org.apache.logging.log4j.test.appender.ListAppender; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +/** + * Tests basic condition processing. + */ +public class ClassArbiterTest { + + static final String CONFIG = "log4j2-classArbiters.xml"; + static LoggerContext loggerContext = null; + + @AfterEach + public void after() { + loggerContext.stop(); + loggerContext = null; + } + + @Test + public void classTest() { + loggerContext = Configurator.initialize(null, CONFIG); + assertNotNull(loggerContext); + Appender app = loggerContext.getConfiguration().getAppender("Out"); + assertNotNull(app); + assertTrue(app instanceof ConsoleAppender); + + Appender app2 = loggerContext.getConfiguration().getAppender("Out2"); + assertNull(app2); + } + +} Index: log4j-core/src/test/resources/log4j2-classArbiters.xml IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/log4j-core/src/test/resources/log4j2-classArbiters.xml b/log4j-core/src/test/resources/log4j2-classArbiters.xml new file mode 100644 --- /dev/null (date 1640862263194) +++ b/log4j-core/src/test/resources/log4j2-classArbiters.xml (date 1640862263194) @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Index: log4j-core/src/main/java/org/apache/logging/log4j/core/config/arbiters/ClassArbiter.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== 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 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/arbiters/ClassArbiter.java (revision 8c1ea147ae157bd7465a5370a17cd576058a4c37) +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/arbiters/ClassArbiter.java (date 1640860766712) @@ -41,8 +41,8 @@ } @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 {