This is an automated email from the ASF dual-hosted git repository.
rgoers pushed a commit to branch LoggerContextProperties
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/LoggerContextProperties by
this push:
new 19bab409cc More fixes
19bab409cc is described below
commit 19bab409ccada375cb84c289576758e820875bbc
Author: Ralph Goers <[email protected]>
AuthorDate: Sat May 6 09:55:27 2023 -0700
More fixes
---
.../src/test/java/org/apache/log4j/LoggerTest.java | 26 +++++------
.../config/PropertiesConfigurationFactoryTest.java | 4 +-
.../log4j/config/XmlConfigurationFactoryTest.java | 12 ++---
.../logging/log4j/spi/LoggingSystemProperty.java | 21 +++++----
.../org/apache/logging/log4j/util/Constants.java | 2 +-
.../log4j/util/ContextAwarePropertySource.java | 15 ++++++-
.../log4j/util/PropertiesPropertySource.java | 11 ++++-
.../logging/log4j/FilterPerformanceComparison.java | 2 +-
.../logging/log4j/PerformanceComparison.java | 2 +-
.../appender/JsonCompleteFileAppenderTest.java | 8 ++--
.../core/appender/XmlCompactFileAppenderTest.java | 10 ++---
.../XmlCompactFileAsyncAppenderValidationTest.java | 5 +--
.../log4j/core/appender/XmlFileAppenderTest.java | 8 ++--
.../appender/XmlRandomAccessFileAppenderTest.java | 10 ++---
log4j-core-test/pom.xml | 2 +-
.../log4j/core/EventParameterMemoryLeakTest.java | 14 +++---
.../apache/logging/log4j/core/Log4j1222Test.java | 52 +++++++++++-----------
...ollingRandomAccessFileAppenderRolloverTest.java | 10 ++---
.../AsyncLoggerCustomSelectorLocationTest.java | 14 +++---
.../log4j/core/async/QueueFullAbstractTest.java | 14 ++++--
...llAsyncLoggerConfigLoggingFromToStringTest.java | 1 +
...ueueFullAsyncLoggerLoggingFromToStringTest.java | 31 +++++--------
.../logging/log4j/core/config/AdvertiserTest.java | 4 +-
.../log4j/core/config/CustomConfigurationTest.java | 1 +
.../log4j/core/util/ContextDataProviderTest.java | 8 ++--
.../log4j/core/appender/ConsoleAppender.java | 1 +
.../logging/log4j/core/impl/Log4jPropertyKey.java | 20 +++++++--
.../org/apache/logging/log4j/core/jmx/Server.java | 2 +-
.../apache/logging/log4j/core/util/Constants.java | 14 +++---
.../csv/layout/CsvParameterLayoutAllAsyncTest.java | 4 +-
.../flume/appender/FlumeEmbeddedAgentTest.java | 5 +--
.../flume/appender/FlumeEmbeddedAppenderTest.java | 31 +++++++------
.../appender/FlumePersistentAppenderTest.java | 43 +++++++++---------
.../log4j/flume/appender/FlumePersistentPerf.java | 35 +++++++--------
.../gctests/GcFreeAsynchronousLoggingTest.java | 2 +-
.../log4j/gctests/GcFreeLoggingTestUtil.java | 9 ++--
.../gctests/GcFreeMixedSyncAyncLoggingTest.java | 2 +-
.../gctests/GcFreeSynchronousLoggingTest.java | 2 +-
.../gctests/JsonTemplateLayoutGcFreeTest.java | 2 +-
.../AbstractJdbcAppenderDataSourceTest.java | 4 +-
.../appender/DataSourceConnectionSourceTest.java | 18 ++++----
.../JdbcAppenderMapMessageDataSourceTest.java | 13 +++---
.../routing/RoutingAppenderWithJndiTest.java | 6 +--
.../log4j/jndi/lookup/InterpolatorTest.java | 4 +-
.../logging/log4j/jndi/lookup/JndiLookupTest.java | 2 +-
.../jndi/lookup/JndiRestrictedLookupTest.java | 2 +-
.../org/apache/logging/log4j/jndi/JndiManager.java | 4 +-
.../logging/log4j/jndi/lookup/JndiLookup.java | 10 +++--
.../jmh/ConcurrentAsyncLoggerToFileBenchmark.java | 2 +-
.../perf/jmh/FileAppenderThrowableBenchmark.java | 2 +-
50 files changed, 274 insertions(+), 252 deletions(-)
diff --git a/log4j-1.2-api/src/test/java/org/apache/log4j/LoggerTest.java
b/log4j-1.2-api/src/test/java/org/apache/log4j/LoggerTest.java
index e45555abca..684c5b8c3a 100644
--- a/log4j-1.2-api/src/test/java/org/apache/log4j/LoggerTest.java
+++ b/log4j-1.2-api/src/test/java/org/apache/log4j/LoggerTest.java
@@ -1,29 +1,21 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
+ * 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 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
+ * 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.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
*/
-
package org.apache.log4j;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertSame;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;
@@ -42,6 +34,13 @@ import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
/**
* Used for internal unit testing the Logger class.
*/
@@ -526,4 +525,3 @@ public class LoggerTest {
}
}
}
-
diff --git
a/log4j-1.2-api/src/test/java/org/apache/log4j/config/PropertiesConfigurationFactoryTest.java
b/log4j-1.2-api/src/test/java/org/apache/log4j/config/PropertiesConfigurationFactoryTest.java
index 4a0197e22d..ead118c1bf 100644
---
a/log4j-1.2-api/src/test/java/org/apache/log4j/config/PropertiesConfigurationFactoryTest.java
+++
b/log4j-1.2-api/src/test/java/org/apache/log4j/config/PropertiesConfigurationFactoryTest.java
@@ -16,14 +16,14 @@
*/
package org.apache.log4j.config;
+import java.io.File;
+
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.junit.BeforeClass;
import org.junit.Test;
-import java.io.File;
-
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
diff --git
a/log4j-1.2-api/src/test/java/org/apache/log4j/config/XmlConfigurationFactoryTest.java
b/log4j-1.2-api/src/test/java/org/apache/log4j/config/XmlConfigurationFactoryTest.java
index dca5f90f74..fa4ba1b658 100644
---
a/log4j-1.2-api/src/test/java/org/apache/log4j/config/XmlConfigurationFactoryTest.java
+++
b/log4j-1.2-api/src/test/java/org/apache/log4j/config/XmlConfigurationFactoryTest.java
@@ -16,18 +16,18 @@
*/
package org.apache.log4j.config;
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggingSystemProperty.java
b/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggingSystemProperty.java
index c84bcccb10..f147699551 100644
---
a/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggingSystemProperty.java
+++
b/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggingSystemProperty.java
@@ -50,8 +50,8 @@ public enum LoggingSystemProperty implements PropertyKey {
*
* @see <a
href="https://issues.apache.org/jira/browse/LOG4J2-1270">LOG4J2-1270</a>
*/
- // GC.enableThreadLocals : calculate | true | false
- GC_THREAD_LOCALS_ENABLED(PropertyComponent.GC,
Constant.ENABLE_THREAD_LOCALS),
+ // ThreadLocals.enabled : calculate | true | false
+ THREAD_LOCALS_ENABLE(PropertyComponent.THREAD_LOCALs, Constant.ENABLE),
/**
* Property to ignore the thread context ClassLoader when set to {@code
true}.
@@ -226,7 +226,7 @@ public enum LoggingSystemProperty implements PropertyKey {
}
public static class Constant {
- static final String DELIM = ".";
+ private static final String DELIM = ".";
/**
* Property to enable TRACE-level debug logging in the Log4j system
itself.
* <p>
@@ -235,7 +235,7 @@ public enum LoggingSystemProperty implements PropertyKey {
* configuration's {@code <Configuration status="<level>" ...>} status
attribute.
* </p>
*/
- static String DEBUG = "debug";
+ static final String DEBUG = "debug";
public static String SYSTEM_DEBUG = SYSTEM_PROPERTY_PREFIX +
PropertyComponent.Constant.SYSTEM + DELIM + DEBUG;
/**
@@ -243,8 +243,8 @@ public enum LoggingSystemProperty implements PropertyKey {
* (from either {@code javax} or {@code jakarta}) is checked to see if
this is a webapp.
*/
// Web.enableWebApp : calculate | true | false
- static String IS_WEBAPP = "isWebapp";
- public static final String SYSTEM_IS_WEBAPP =
+ static final String IS_WEBAPP = "isWebApp";
+ public static final String WEB_IS_WEBAPP =
SYSTEM_PROPERTY_PREFIX + PropertyComponent.Constant.WEB +
DELIM + IS_WEBAPP;
/**
@@ -252,10 +252,10 @@ public enum LoggingSystemProperty implements PropertyKey {
*
* @see <a
href="https://issues.apache.org/jira/browse/LOG4J2-1270">LOG4J2-1270</a>
*/
- // GC.enableThreadLocals : calculate | true | false
- static final String ENABLE_THREAD_LOCALS = "enableThreadLocals";
- public static final String SYSTEM_THREAD_LOCALS_ENABLED =
- SYSTEM_PROPERTY_PREFIX +
PropertyComponent.Constant.THREAD_LOCALS + DELIM + ENABLE_THREAD_LOCALS;
+ // ThreadLocals.enabled : calculate | true | false
+ static final String ENABLE = "enable";
+ public static final String THREAD_LOCALS_ENABLE =
+ SYSTEM_PROPERTY_PREFIX +
PropertyComponent.Constant.THREAD_LOCALS + DELIM + ENABLE;
/**
* Property to ignore the thread context ClassLoader when set to
{@code true}.
@@ -400,7 +400,6 @@ public enum LoggingSystemProperty implements PropertyKey {
* thread context map and stack will be disabled.
*/
// ThreadContext.enable
- static final String ENABLE = "enable";
public static final String THREAD_CONTEXT_ENABLED =
SYSTEM_PROPERTY_PREFIX +
PropertyComponent.Constant.THREAD_CONTEXT + DELIM + ENABLE;
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/util/Constants.java
b/log4j-api/src/main/java/org/apache/logging/log4j/util/Constants.java
index c792db3245..57c6591168 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/Constants.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/Constants.java
@@ -54,7 +54,7 @@ public final class Constants {
public static final boolean IS_WEB_APP = isWebApp();
private static final LazyBoolean threadLocalsEnabled = new LazyBoolean(
- () -> !isWebApp() &&
PropertiesUtil.getProperties().getBooleanProperty(LoggingSystemProperty.GC_THREAD_LOCALS_ENABLED,
true));
+ () -> !isWebApp() &&
PropertiesUtil.getProperties().getBooleanProperty(LoggingSystemProperty.THREAD_LOCALS_ENABLE,
true));
/**
* Kill switch for object pooling in ThreadLocals that enables much of the
LOG4J2-1270 no-GC behaviour.
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/util/ContextAwarePropertySource.java
b/log4j-api/src/main/java/org/apache/logging/log4j/util/ContextAwarePropertySource.java
index 9975931fad..3d761f81c9 100644
---
a/log4j-api/src/main/java/org/apache/logging/log4j/util/ContextAwarePropertySource.java
+++
b/log4j-api/src/main/java/org/apache/logging/log4j/util/ContextAwarePropertySource.java
@@ -33,6 +33,8 @@ import org.apache.logging.log4j.spi.PropertyComponent;
public abstract class ContextAwarePropertySource implements PropertySource {
protected final Map<String, Properties> propertiesMap;
+ private final String contextName;
+ private boolean includeInvalid;
public ContextAwarePropertySource(final Properties properties, final
String contextName,
final boolean includeInvalid) {
@@ -41,13 +43,20 @@ public abstract class ContextAwarePropertySource implements
PropertySource {
} else {
propertiesMap = new ConcurrentHashMap<>();
}
+ this.contextName = contextName;
+ this.includeInvalid = includeInvalid;
}
+ /**
+ * Used only for System Environment properties.
+ * @param properties The map from the Environment.
+ */
public ContextAwarePropertySource(final Map<String, String> properties) {
this.propertiesMap = parseProperties(properties);
+ this.contextName = SYSTEM_CONTEXT;
+ this.includeInvalid = false;
}
-
@Override
public Collection<String> getPropertyNames() {
return getPropertyNames(SYSTEM_CONTEXT);
@@ -106,6 +115,10 @@ public abstract class ContextAwarePropertySource
implements PropertySource {
return propertiesMap;
}
+ protected Map<String, Properties> parseProperties(Properties properties) {
+ return parseProperties(properties, contextName, includeInvalid);
+ }
+
/**
* Used to parse properties in Properties objects.
* @param properties The input properties.
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesPropertySource.java
b/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesPropertySource.java
index 9bbc73b9d2..4052ab85a3 100644
---
a/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesPropertySource.java
+++
b/log4j-api/src/main/java/org/apache/logging/log4j/util/PropertiesPropertySource.java
@@ -26,9 +26,11 @@ import java.util.Properties;
*
* @since 2.10.0
*/
-public class PropertiesPropertySource extends ContextAwarePropertySource
implements PropertySource {
+public class PropertiesPropertySource extends ContextAwarePropertySource
+ implements ReloadablePropertySource {
private final int priority;
+ private final Properties properties;
public PropertiesPropertySource(final Properties properties) {
this(properties, SYSTEM_CONTEXT, DEFAULT_PRIORITY, false);
@@ -46,6 +48,7 @@ public class PropertiesPropertySource extends
ContextAwarePropertySource impleme
final boolean includeInvalid) {
super(properties, contextName, includeInvalid);
this.priority = priority;
+ this.properties = properties;
}
@@ -70,6 +73,12 @@ public class PropertiesPropertySource extends
ContextAwarePropertySource impleme
return result.length() > 0 ? PREFIX + result : null;
}
+ @Override
+ public void reload() {
+ Map<String, Properties> map = parseProperties(properties);
+ propertiesMap.putAll(map);
+ }
+
@Override
public boolean equals(Object o) {
if (this == o) return true;
diff --git
a/log4j-core-its/src/test/java/org/apache/logging/log4j/FilterPerformanceComparison.java
b/log4j-core-its/src/test/java/org/apache/logging/log4j/FilterPerformanceComparison.java
index 17072d01fc..5c71f142cd 100644
---
a/log4j-core-its/src/test/java/org/apache/logging/log4j/FilterPerformanceComparison.java
+++
b/log4j-core-its/src/test/java/org/apache/logging/log4j/FilterPerformanceComparison.java
@@ -20,9 +20,9 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
+import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
import org.apache.logging.log4j.core.test.categories.PerformanceTests;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.BeforeClass;
diff --git
a/log4j-core-its/src/test/java/org/apache/logging/log4j/PerformanceComparison.java
b/log4j-core-its/src/test/java/org/apache/logging/log4j/PerformanceComparison.java
index 0e9eff6261..199af13515 100644
---
a/log4j-core-its/src/test/java/org/apache/logging/log4j/PerformanceComparison.java
+++
b/log4j-core-its/src/test/java/org/apache/logging/log4j/PerformanceComparison.java
@@ -25,9 +25,9 @@ import java.io.Writer;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
+import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
import org.apache.logging.log4j.core.test.categories.PerformanceTests;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.test.util.Profiler;
import org.junit.AfterClass;
import org.junit.BeforeClass;
diff --git
a/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/JsonCompleteFileAppenderTest.java
b/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/JsonCompleteFileAppenderTest.java
index 071a7c13be..325f74aeeb 100644
---
a/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/JsonCompleteFileAppenderTest.java
+++
b/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/JsonCompleteFileAppenderTest.java
@@ -16,8 +16,6 @@
*/
package org.apache.logging.log4j.core.appender;
-import static org.junit.Assert.assertTrue;
-
import java.io.File;
import java.nio.charset.Charset;
import java.nio.file.Files;
@@ -25,13 +23,13 @@ import java.util.List;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
-import org.apache.logging.log4j.core.test.categories.Layouts;
import org.apache.logging.log4j.core.selector.ContextSelector;
import org.apache.logging.log4j.core.selector.CoreContextSelectors;
+import org.apache.logging.log4j.core.test.categories.Layouts;
+import org.apache.logging.log4j.core.test.junit.LoggerContextRule;
import org.apache.logging.log4j.core.test.util.FixedTimeClock;
import org.apache.logging.log4j.core.time.ClockFactory;
import org.apache.logging.log4j.test.junit.CleanFiles;
-import org.apache.logging.log4j.core.test.junit.LoggerContextRule;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Rule;
@@ -42,6 +40,8 @@ import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
+import static org.junit.Assert.assertTrue;
+
/**
* Tests a "complete" JSON file.
*/
diff --git
a/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlCompactFileAppenderTest.java
b/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlCompactFileAppenderTest.java
index 0b4e6a171a..2d871043b9 100644
---
a/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlCompactFileAppenderTest.java
+++
b/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlCompactFileAppenderTest.java
@@ -16,23 +16,23 @@
*/
package org.apache.logging.log4j.core.appender;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
-import org.apache.logging.log4j.core.test.categories.Layouts;
import org.apache.logging.log4j.core.test.CoreLoggerContexts;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.apache.logging.log4j.core.test.categories.Layouts;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.experimental.categories.Category;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
/**
* Tests a "compact" XML file, no extra spaces or end of lines.
*/
diff --git
a/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlCompactFileAsyncAppenderValidationTest.java
b/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlCompactFileAsyncAppenderValidationTest.java
index 9303f2af1d..cb20b4ac0e 100644
---
a/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlCompactFileAsyncAppenderValidationTest.java
+++
b/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlCompactFileAsyncAppenderValidationTest.java
@@ -19,7 +19,6 @@ package org.apache.logging.log4j.core.appender;
import java.io.File;
import java.io.IOException;
import java.net.URL;
-
import javax.xml.XMLConstants;
import javax.xml.transform.Source;
import javax.xml.transform.stream.StreamSource;
@@ -29,10 +28,10 @@ import javax.xml.validation.Validator;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
-import org.apache.logging.log4j.core.test.categories.Layouts;
import org.apache.logging.log4j.core.test.CoreLoggerContexts;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.apache.logging.log4j.core.test.categories.Layouts;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
diff --git
a/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlFileAppenderTest.java
b/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlFileAppenderTest.java
index dafd9461ef..480cffe51b 100644
---
a/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlFileAppenderTest.java
+++
b/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlFileAppenderTest.java
@@ -16,8 +16,6 @@
*/
package org.apache.logging.log4j.core.appender;
-import static org.junit.Assert.assertTrue;
-
import java.io.File;
import java.nio.charset.Charset;
import java.nio.file.Files;
@@ -25,14 +23,16 @@ import java.util.List;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
-import org.apache.logging.log4j.core.test.categories.Layouts;
import org.apache.logging.log4j.core.test.CoreLoggerContexts;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.apache.logging.log4j.core.test.categories.Layouts;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.experimental.categories.Category;
+import static org.junit.Assert.assertTrue;
+
/**
* Tests a "complete" XML file a.k.a. a well-formed XML file.
*/
diff --git
a/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlRandomAccessFileAppenderTest.java
b/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlRandomAccessFileAppenderTest.java
index 2a639ca242..373afed8e4 100644
---
a/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlRandomAccessFileAppenderTest.java
+++
b/log4j-core-its/src/test/java/org/apache/logging/log4j/core/appender/XmlRandomAccessFileAppenderTest.java
@@ -16,24 +16,24 @@
*/
package org.apache.logging.log4j.core.appender;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
-import org.apache.logging.log4j.core.test.categories.Layouts;
import org.apache.logging.log4j.core.test.CoreLoggerContexts;
-import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.apache.logging.log4j.core.test.categories.Layouts;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.experimental.categories.Category;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+
/**
* Tests a "complete" XML file a.k.a. a well-formed XML file.
*/
diff --git a/log4j-core-test/pom.xml b/log4j-core-test/pom.xml
index 2a9c38c4da..1d990c3191 100644
--- a/log4j-core-test/pom.xml
+++ b/log4j-core-test/pom.xml
@@ -406,7 +406,7 @@
<configuration>
<runOrder>random</runOrder>
<systemPropertyVariables>
- <log4j2.is.webapp>false</log4j2.is.webapp>
+ <Web.isWebApp>false</Web.isWebApp>
</systemPropertyVariables>
<useModulePath>false</useModulePath>
</configuration>
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/EventParameterMemoryLeakTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/EventParameterMemoryLeakTest.java
index 6ca742bbe9..dc3a61807d 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/EventParameterMemoryLeakTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/EventParameterMemoryLeakTest.java
@@ -16,6 +16,13 @@
*/
package org.apache.logging.log4j.core;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.lang.ref.Cleaner;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
@@ -24,13 +31,6 @@ import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junitpioneer.jupiter.SetSystemProperty;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.lang.ref.Cleaner;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.containsString;
import static org.junit.jupiter.api.Assertions.assertNull;
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/Log4j1222Test.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/Log4j1222Test.java
index 95482a04ab..5ae75141f4 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/Log4j1222Test.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/Log4j1222Test.java
@@ -33,34 +33,34 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
public class Log4j1222Test
{
- @Test
- @SetSystemProperty(key = Log4jPropertyKey.Constant.CONFIG_LOCATION,
value = "log4j2-console.xml")
- public void homepageRendersSuccessfully() {
- Runtime.getRuntime().addShutdownHook(new ShutdownHook());
- }
+ @Test
+ @SetSystemProperty(key = Log4jPropertyKey.Constant.CONFIG_LOCATION, value
= "log4j2-console.xml")
+ public void homepageRendersSuccessfully() {
+ Runtime.getRuntime().addShutdownHook(new ShutdownHook());
+ }
- private static class ShutdownHook extends Thread {
+ private static class ShutdownHook extends Thread {
- private static class Holder {
- private static final Logger LOGGER =
LogManager.getLogger(Log4j1222Test.class);
- }
+ private static class Holder {
+ private static final Logger LOGGER =
LogManager.getLogger(Log4j1222Test.class);
+ }
- @Override
- public void run()
- {
- super.run();
- trigger();
- }
+ @Override
+ public void run()
+ {
+ super.run();
+ trigger();
+ }
- private void trigger() {
- Holder.LOGGER.info("Attempt to trigger");
- assertTrue(Holder.LOGGER instanceof TestLogger, "Logger
is of type " + Holder.LOGGER.getClass().getName());
- if (((TestLogger) Holder.LOGGER).getEntries().size() ==
0) {
- System.out.println("Logger contains no
messages");
- }
- for (final String msg : ((TestLogger)
Holder.LOGGER).getEntries()) {
- System.out.println(msg);
- }
- }
- }
+ private void trigger() {
+ Holder.LOGGER.info("Attempt to trigger");
+ assertTrue(Holder.LOGGER instanceof TestLogger, "Logger is of type
" + Holder.LOGGER.getClass().getName());
+ if (((TestLogger) Holder.LOGGER).getEntries().size() == 0) {
+ System.out.println("Logger contains no messages");
+ }
+ for (final String msg : ((TestLogger) Holder.LOGGER).getEntries())
{
+ System.out.println(msg);
+ }
+ }
+ }
}
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/RollingRandomAccessFileAppenderRolloverTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/RollingRandomAccessFileAppenderRolloverTest.java
index 79535f6601..b7cdf2e7a0 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/RollingRandomAccessFileAppenderRolloverTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/RollingRandomAccessFileAppenderRolloverTest.java
@@ -16,6 +16,11 @@
*/
package org.apache.logging.log4j.core.appender;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.util.Arrays;
+
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
@@ -25,11 +30,6 @@ import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
import org.junitpioneer.jupiter.SetSystemProperty;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.util.Arrays;
-
import static org.junit.jupiter.api.Assertions.*;
@Tag("sleepy")
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerCustomSelectorLocationTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerCustomSelectorLocationTest.java
index 7ceb2bfd2c..ad73d2e3f1 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerCustomSelectorLocationTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerCustomSelectorLocationTest.java
@@ -16,6 +16,13 @@
*/
package org.apache.logging.log4j.core.async;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.net.URI;
+import java.util.Collections;
+import java.util.List;
+
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.LoggerContext;
@@ -31,13 +38,6 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.net.URI;
-import java.util.Collections;
-import java.util.List;
-
import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.MatcherAssert.assertThat;
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/QueueFullAbstractTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/QueueFullAbstractTest.java
index b3d54bfd4e..926d06bc57 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/QueueFullAbstractTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/QueueFullAbstractTest.java
@@ -54,6 +54,7 @@ public abstract class QueueFullAbstractTest {
@Override
public void run() {
try {
+ TRACE("Waiting for unlocker CountDownLatch. count: " +
countDownLatch.getCount());
countDownLatch.await();
TRACE("Unlocker activated. Sleeping 500 millis before taking
action...");
Thread.sleep(500);
@@ -85,16 +86,21 @@ public abstract class QueueFullAbstractTest {
}
static Stack transform(final List<LogEvent> logEvents) {
- final List<String> filtered = new ArrayList<>(logEvents.size());
- for (LogEvent event : logEvents) {
- filtered.add(event.getMessage().getFormattedMessage());
- }
+ final List<String> filtered = getMessages(logEvents);
Collections.reverse(filtered);
Stack<String> result = new Stack<>();
result.addAll(filtered);
return result;
}
+ static List<String> getMessages(final List<LogEvent> logEvents) {
+ final List<String> filtered = new ArrayList<>(logEvents.size());
+ for (LogEvent event : logEvents) {
+ filtered.add(event.getMessage().getFormattedMessage());
+ }
+ return filtered;
+ }
+
static long asyncRemainingCapacity(Logger logger) {
if (logger instanceof AsyncLogger) {
try {
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/QueueFullAsyncLoggerConfigLoggingFromToStringTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/QueueFullAsyncLoggerConfigLoggingFromToStringTest.java
index 75b55bd73c..f4764bd485 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/QueueFullAsyncLoggerConfigLoggingFromToStringTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/QueueFullAsyncLoggerConfigLoggingFromToStringTest.java
@@ -26,6 +26,7 @@ import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
import org.apache.logging.log4j.core.test.junit.LoggerContextSource;
import org.apache.logging.log4j.plugins.Named;
+import org.apache.logging.log4j.spi.LoggingSystemProperty;
import org.apache.logging.log4j.status.StatusData;
import org.apache.logging.log4j.status.StatusLogger;
import org.junit.jupiter.api.Tag;
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/QueueFullAsyncLoggerLoggingFromToStringTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/QueueFullAsyncLoggerLoggingFromToStringTest.java
index 3590fc2fa3..db3ec79cd7 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/QueueFullAsyncLoggerLoggingFromToStringTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/QueueFullAsyncLoggerLoggingFromToStringTest.java
@@ -16,6 +16,7 @@
*/
package org.apache.logging.log4j.core.async;
+import java.util.List;
import java.util.Stack;
import java.util.concurrent.CountDownLatch;
@@ -25,14 +26,14 @@ import
org.apache.logging.log4j.core.test.CoreLoggerContexts;
import org.apache.logging.log4j.core.test.categories.AsyncLoggers;
import org.apache.logging.log4j.core.test.junit.LoggerContextRule;
import org.apache.logging.log4j.message.ParameterizedMessage;
-import org.junit.AfterClass;
+import org.apache.logging.log4j.spi.LoggingSystemProperty;
import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.runner.RunWith;
import org.junit.runners.BlockJUnit4ClassRunner;
+import org.junitpioneer.jupiter.SetSystemProperty;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
@@ -42,18 +43,11 @@ import static org.junit.Assert.assertTrue;
*/
@RunWith(BlockJUnit4ClassRunner.class)
@Category(AsyncLoggers.class)
+@SetSystemProperty(key = LoggingSystemProperty.Constant.WEB_IS_WEBAPP, value =
"false")
+@SetSystemProperty(key =
Log4jPropertyKey.Constant.ASYNC_LOGGER_RING_BUFFER_SIZE, value = "128")
+@SetSystemProperty(key = LoggingSystemProperty.Constant.THREAD_LOCALS_ENABLE,
value = "true")
public class QueueFullAsyncLoggerLoggingFromToStringTest extends
QueueFullAbstractTest {
- @BeforeClass
- public static void beforeClass() {
-
System.setProperty(Log4jPropertyKey.Constant.ASYNC_LOGGER_RING_BUFFER_SIZE,
"128"); // minimum ringbuffer size
- }
-
- @AfterClass
- public static void afterClass() {
-
System.clearProperty(Log4jPropertyKey.Constant.ASYNC_LOGGER_RING_BUFFER_SIZE);
- }
-
@Rule
public LoggerContextRule context = new LoggerContextRule(
"log4j2-queueFull.xml", AsyncLoggerContextSelector.class);
@@ -90,15 +84,10 @@ public class QueueFullAsyncLoggerLoggingFromToStringTest
extends QueueFullAbstra
while (blockingAppender.logEvents.size() < 129) { Thread.yield(); }
TRACE("After stop() blockingAppender.logEvents.count=" +
blockingAppender.logEvents.size());
- final Stack<String> actual = transform(blockingAppender.logEvents);
+ final List<String> messages = getMessages(blockingAppender.logEvents);
assertEquals("Jumped the queue: test(2)+domain1(65)+domain2(61)=128:
queue full",
- "Logging in toString() #127", actual.pop());
- assertEquals("Logging in toString() #128", actual.pop());
- assertEquals("logging naughty object #0 Who's bad?!", actual.pop());
-
- for (int i = 0; i < 127; i++) {
- assertEquals("First batch", "Logging in toString() #" + i,
actual.pop());
- }
- assertTrue(actual.isEmpty());
+ "Logging in toString() #127", messages.get(messages.size() -
2));
+ assertEquals("Logging in toString() #128",
messages.get(messages.size() - 1));
+ assertEquals("logging naughty object #0 Who's bad?!", messages.get(0));
}
}
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/AdvertiserTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/AdvertiserTest.java
index 2a6cfae784..fe46aea41e 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/AdvertiserTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/AdvertiserTest.java
@@ -16,6 +16,8 @@
*/
package org.apache.logging.log4j.core.config;
+import java.util.Map;
+
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.xml.XmlConfiguration;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
@@ -26,8 +28,6 @@ import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
-import java.util.Map;
-
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java
index d3758e6ed2..01729daffe 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java
@@ -45,6 +45,7 @@ import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
@CleanUpFiles("target/test.log")
+@SetSystemProperty(key = "log4j.level", value = "info")
@SetSystemProperty(key = Log4jPropertyKey.Constant.CONFIG_DEFAULT_LEVEL, value
= "info")
@SetSystemProperty(key = Log4jPropertyKey.Constant.STATUS_DEFAULT_LEVEL, value
= "info")
public class CustomConfigurationTest {
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/util/ContextDataProviderTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/util/ContextDataProviderTest.java
index 70036228db..c24052728e 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/util/ContextDataProviderTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/util/ContextDataProviderTest.java
@@ -16,6 +16,10 @@
*/
package org.apache.logging.log4j.core.util;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.ThreadContext;
@@ -28,10 +32,6 @@ import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Tag;
import org.junit.jupiter.api.Test;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import static org.junit.jupiter.api.Assertions.*;
@Tag("functional")
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
index 696169b233..7dc92ef1b8 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ConsoleAppender.java
@@ -168,6 +168,7 @@ public final class ConsoleAppender extends
AbstractOutputStreamAppender<OutputSt
}
final Layout layout =
getOrCreateLayout(target.getDefaultCharset());
PropertyEnvironment propertyEnvironment = configuration != null
+ && configuration.getLoggerContext() != null
? configuration.getLoggerContext().getProperties() :
PropertiesUtil.getProperties();
return new ConsoleAppender(getName(), layout, getFilter(),
getManager(target, follow, direct, layout,
propertyEnvironment),
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jPropertyKey.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jPropertyKey.java
index 898518f6d2..8b3e17baf2 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jPropertyKey.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jPropertyKey.java
@@ -51,7 +51,7 @@ public enum Log4jPropertyKey implements PropertyKey {
CONFIG_RELIABILITY_STRATEGY_AWAIT_UNCONDITIONALLY_MILLIS(PropertyComponent.CONFIGURATION,
Constant.WAIT_MILLIS_BEFORE_STOP_OLD_CONFIG),
CONFIG_V1_COMPATIBILITY_ENABLED(PropertyComponent.LOG4J1,
Constant.COMPATIBILITY),
- CONFIG_V1_FILE_NAME(PropertyComponent.LOG4J1, Constant.CONFIGURATION),
+ CONFIG_V1_FILE_NAME(PropertyComponent.LOG4J, Constant.CONFIGURATION),
CONTEXT_SELECTOR_CLASS_NAME(PropertyComponent.LOG4J,
Constant.CONTEXT_SELECTOR),
GC_ENABLE_DIRECT_ENCODERS(PropertyComponent.GC,
Constant.ENABLE_DIRECT_ENCODERS),
GC_ENCODER_BYTE_BUFFER_SIZE(PropertyComponent.GC,
Constant.ENCODER_BYTE_BUFFER_SIZE),
@@ -61,7 +61,10 @@ public enum Log4jPropertyKey implements PropertyKey {
GC_REUSABLE_MESSAGE_MAX_SIZE(PropertyComponent.GC,Constant.MAX_REUSABLE_MSG_SIZE),
JMX_ENABLED(PropertyComponent.JMX, Constant.ENABLED),
JMX_NOTIFY_ASYNC(PropertyComponent.JMX, Constant.NOTIFY_ASYNC),
- JNDI_ENABLED(PropertyComponent.JNDI, Constant.ENABLED),
+ JNDI_CONTEXT_SELECTOR(PropertyComponent.JNDI, Constant.CONTEXT_SELECTOR),
+ JNDI_ENABLE_JDBC(PropertyComponent.JNDI, Constant.ENABLE_JDBC),
+ JNDI_ENABLE_JMS(PropertyComponent.JNDI, Constant.ENABLE_JMS),
+ JNDI_ENABLE_LOOKUP(PropertyComponent.JNDI, Constant.ENABLE_LOOKUP),
LOG_EVENT_FACTORY_CLASS_NAME(PropertyComponent.LOGGER,
Constant.LOG_EVENT_FACTORY),
SCRIPT_ENABLE_LANGUAGES(PropertyComponent.SCRIPT,
Constant.ENABLE_LANGUAGES),
SHUTDOWN_CALLBACK_REGISTRY(PropertyComponent.LOGGER_CONTEXT,
Constant.SHUT_DOWN_CALLBACK_REGISTRY),
@@ -231,8 +234,17 @@ public enum Log4jPropertyKey implements PropertyKey {
static final String NOTIFY_ASYNC = "notifyAsync";
public static final String JMX_NOTIFY_ASYNC =
LoggingSystemProperty.SYSTEM_PROPERTY_PREFIX
+ PropertyComponent.Constant.JMX + DELIM + NOTIFY_ASYNC;
- public static final String JNDI_ENABLED =
LoggingSystemProperty.SYSTEM_PROPERTY_PREFIX
- + PropertyComponent.Constant.JNDI + DELIM + ENABLED;
+ public static final String JNDI_CONTEXT_SELECTOR =
LoggingSystemProperty.SYSTEM_PROPERTY_PREFIX
+ + PropertyComponent.Constant.JNDI + DELIM + CONTEXT_SELECTOR;
+ static final String ENABLE_JDBC = "enableJDBC";
+ public static final String JNDI_ENABLE_JDBC =
LoggingSystemProperty.SYSTEM_PROPERTY_PREFIX
+ + PropertyComponent.Constant.JNDI + DELIM + ENABLE_JDBC;
+ static final String ENABLE_JMS = "enableJMS";
+ public static final String JNDI_ENABLE_JMS =
LoggingSystemProperty.SYSTEM_PROPERTY_PREFIX
+ + PropertyComponent.Constant.JNDI + DELIM + ENABLE_JMS;
+ static final String ENABLE_LOOKUP = "enableLookup";
+ public static final String JNDI_ENABLE_LOOKUP =
LoggingSystemProperty.SYSTEM_PROPERTY_PREFIX
+ + PropertyComponent.Constant.JNDI + DELIM + ENABLE_LOOKUP;
static final String LOG_EVENT_FACTORY = "logEventFactory";
public static final String LOG_EVENT_FACTORY_CLASS_NAME =
LoggingSystemProperty.SYSTEM_PROPERTY_PREFIX
+ PropertyComponent.Constant.LOGGER_CONTEXT + DELIM +
LOG_EVENT_FACTORY;
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java
index 333b5a260b..5339fdd37f 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/jmx/Server.java
@@ -126,7 +126,7 @@ public final class Server {
}
private static boolean isJmxDisabled() {
- return
!PropertiesUtil.getProperties().getBooleanProperty(Log4jPropertyKey.JMX_ENABLED);
+ return
!PropertiesUtil.getProperties().getBooleanProperty(Log4jPropertyKey.JMX_ENABLED,
true);
}
public static void reregisterMBeansAfterReconfigure() {
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java
index 7f26eb4574..50fb0a9bf7 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java
@@ -34,21 +34,21 @@ public final class Constants {
/**
* Check to determine if the JNDI feature is available.
- * @param subKey The feature to check.
+ * @param key The feature to check.
* @return true if the feature is available.
*/
- private static boolean isJndiEnabled(final String subKey) {
- return
PropertiesUtil.getProperties().getBooleanProperty(Log4jPropertyKey.JNDI_ENABLED,
false)
+ private static boolean isJndiEnabled(final PropertyKey key) {
+ return PropertiesUtil.getProperties().getBooleanProperty(key, false)
&& isClassAvailable(JNDI_MANAGER_CLASS);
}
- public static boolean JNDI_CONTEXT_SELECTOR_ENABLED =
isJndiEnabled("ContextSelector");
+ public static boolean JNDI_CONTEXT_SELECTOR_ENABLED =
isJndiEnabled(Log4jPropertyKey.JNDI_CONTEXT_SELECTOR);
- public static boolean JNDI_JMS_ENABLED = isJndiEnabled("Jms");
+ public static boolean JNDI_JMS_ENABLED =
isJndiEnabled(Log4jPropertyKey.JNDI_ENABLE_JMS);
- public static boolean JNDI_LOOKUP_ENABLED = isJndiEnabled("Lookup");
+ public static boolean JNDI_LOOKUP_ENABLED =
isJndiEnabled(Log4jPropertyKey.JNDI_ENABLE_LOOKUP);
- public static boolean JNDI_JDBC_ENABLED = isJndiEnabled("Jdbc");
+ public static boolean JNDI_JDBC_ENABLED =
isJndiEnabled(Log4jPropertyKey.JNDI_ENABLE_JDBC);
public static final Key<Level> DEFAULT_STATUS_LEVEL_KEY = new
@Named("StatusLogger") Key<>() {};
diff --git
a/log4j-csv/src/test/java/org/apache/logging/log4j/csv/layout/CsvParameterLayoutAllAsyncTest.java
b/log4j-csv/src/test/java/org/apache/logging/log4j/csv/layout/CsvParameterLayoutAllAsyncTest.java
index dfa786d400..d73f62533b 100644
---
a/log4j-csv/src/test/java/org/apache/logging/log4j/csv/layout/CsvParameterLayoutAllAsyncTest.java
+++
b/log4j-csv/src/test/java/org/apache/logging/log4j/csv/layout/CsvParameterLayoutAllAsyncTest.java
@@ -18,11 +18,11 @@ package org.apache.logging.log4j.csv.layout;
import org.apache.commons.csv.CSVFormat;
import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
-import org.apache.logging.log4j.core.test.categories.Layouts;
import org.apache.logging.log4j.core.Logger;
import org.apache.logging.log4j.core.async.AsyncLoggerContextSelector;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
+import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
+import org.apache.logging.log4j.core.test.categories.Layouts;
import org.apache.logging.log4j.core.util.Constants;
import org.apache.logging.log4j.util.Strings;
import org.junit.AfterClass;
diff --git
a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAgentTest.java
b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAgentTest.java
index 5e5df9fd54..802393718b 100644
---
a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAgentTest.java
+++
b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAgentTest.java
@@ -30,12 +30,11 @@ import java.util.Set;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.zip.GZIPInputStream;
-
import javax.management.MBeanServer;
import javax.management.ObjectName;
-import org.apache.avro.ipc.netty.NettyServer;
import org.apache.avro.ipc.Server;
+import org.apache.avro.ipc.netty.NettyServer;
import org.apache.avro.ipc.specific.SpecificResponder;
import org.apache.flume.Event;
import org.apache.flume.event.EventBuilder;
@@ -48,9 +47,9 @@ import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
+import org.apache.logging.log4j.core.test.AvailablePortFinder;
import org.apache.logging.log4j.message.StructuredDataMessage;
import org.apache.logging.log4j.status.StatusLogger;
-import org.apache.logging.log4j.core.test.AvailablePortFinder;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Assert;
diff --git
a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java
b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java
index 7ead3e5e1d..4c29f98c3c 100644
---
a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java
+++
b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumeEmbeddedAppenderTest.java
@@ -30,7 +30,6 @@ import java.util.Set;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.zip.GZIPInputStream;
-
import javax.management.MBeanServer;
import javax.management.ObjectName;
@@ -48,9 +47,9 @@ import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
+import org.apache.logging.log4j.core.test.AvailablePortFinder;
import org.apache.logging.log4j.message.StructuredDataMessage;
import org.apache.logging.log4j.status.StatusLogger;
-import org.apache.logging.log4j.core.test.AvailablePortFinder;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Assert;
@@ -237,23 +236,23 @@ public class FlumeEmbeddedAppenderTest {
}
- private static boolean deleteFiles(final File file) {
- boolean result = true;
- if (file.isDirectory()) {
+ private static boolean deleteFiles(final File file) {
+ boolean result = true;
+ if (file.isDirectory()) {
- final File[] files = file.listFiles();
- if (files != null) {
- for (final File child : files) {
- result &= deleteFiles(child);
- }
- }
+ final File[] files = file.listFiles();
+ if (files != null) {
+ for (final File child : files) {
+ result &= deleteFiles(child);
+ }
+ }
- } else if (!file.exists()) {
- return true;
- }
+ } else if (!file.exists()) {
+ return true;
+ }
- return result && file.delete();
- }
+ return result && file.delete();
+ }
private static class EventCollector implements AvroSourceProtocol {
private final LinkedBlockingQueue<AvroFlumeEvent> eventQueue = new
LinkedBlockingQueue<>();
diff --git
a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java
b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java
index bd67952036..1df758a3e4 100644
---
a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java
+++
b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java
@@ -32,7 +32,6 @@ import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.zip.GZIPInputStream;
-
import javax.management.MBeanServer;
import javax.management.ObjectName;
@@ -52,9 +51,9 @@ import org.apache.logging.log4j.MarkerManager;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
+import org.apache.logging.log4j.core.test.AvailablePortFinder;
import org.apache.logging.log4j.message.StructuredDataMessage;
import org.apache.logging.log4j.status.StatusLogger;
-import org.apache.logging.log4j.core.test.AvailablePortFinder;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Assert;
@@ -351,14 +350,14 @@ public class FlumePersistentAppenderTest {
@Test
public void testLogInterrupted() {
- final ExecutorService executor = Executors.newSingleThreadExecutor();
+ final ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(() -> {
- executor.shutdownNow();
- final Logger logger = LogManager.getLogger("EventLogger");
+ executor.shutdownNow();
+ final Logger logger = LogManager.getLogger("EventLogger");
final Marker marker = MarkerManager.getMarker("EVENT");
logger.info(marker, "This is a test message");
Assert.assertTrue("Interruption status not preserved",
- Thread.currentThread().isInterrupted());
+ Thread.currentThread().isInterrupted());
});
}
@@ -388,22 +387,22 @@ public class FlumePersistentAppenderTest {
}
- private static boolean deleteFiles(final File file) {
- boolean result = true;
- if (file.isDirectory()) {
-
- final File[] files = file.listFiles();
- if (files != null) {
- for (final File child : files) {
- result &= deleteFiles(child);
- }
- }
- } else if (!file.exists()) {
- return true;
- }
-
- return result && file.delete();
- }
+ private static boolean deleteFiles(final File file) {
+ boolean result = true;
+ if (file.isDirectory()) {
+
+ final File[] files = file.listFiles();
+ if (files != null) {
+ for (final File child : files) {
+ result &= deleteFiles(child);
+ }
+ }
+ } else if (!file.exists()) {
+ return true;
+ }
+
+ return result && file.delete();
+ }
private static class EventCollector implements AvroSourceProtocol {
private final LinkedBlockingQueue<AvroFlumeEvent> eventQueue = new
LinkedBlockingQueue<>();
diff --git
a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentPerf.java
b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentPerf.java
index fe3b50dcbb..fc4bd0aaee 100644
---
a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentPerf.java
+++
b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentPerf.java
@@ -30,7 +30,6 @@ import java.util.Set;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.zip.GZIPInputStream;
-
import javax.management.MBeanServer;
import javax.management.ObjectName;
@@ -46,9 +45,9 @@ import org.apache.logging.log4j.EventLogger;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
+import org.apache.logging.log4j.core.test.AvailablePortFinder;
import org.apache.logging.log4j.message.StructuredDataMessage;
import org.apache.logging.log4j.status.StatusLogger;
-import org.apache.logging.log4j.core.test.AvailablePortFinder;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
@@ -149,22 +148,22 @@ public class FlumePersistentPerf {
}
- private static boolean deleteFiles(final File file) {
- boolean result = true;
- if (file.isDirectory()) {
-
- final File[] files = file.listFiles();
- if (files != null) {
- for (final File child : files) {
- result &= deleteFiles(child);
- }
- }
- } else if (!file.exists()) {
- return true;
- }
-
- return result && file.delete();
- }
+ private static boolean deleteFiles(final File file) {
+ boolean result = true;
+ if (file.isDirectory()) {
+
+ final File[] files = file.listFiles();
+ if (files != null) {
+ for (final File child : files) {
+ result &= deleteFiles(child);
+ }
+ }
+ } else if (!file.exists()) {
+ return true;
+ }
+
+ return result && file.delete();
+ }
private static class EventCollector implements AvroSourceProtocol {
private final LinkedBlockingQueue<AvroFlumeEvent> eventQueue = new
LinkedBlockingQueue<>();
diff --git
a/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeAsynchronousLoggingTest.java
b/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeAsynchronousLoggingTest.java
index 16568d89fb..63468a64f5 100644
---
a/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeAsynchronousLoggingTest.java
+++
b/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeAsynchronousLoggingTest.java
@@ -42,7 +42,7 @@ public class GcFreeAsynchronousLoggingTest {
* This code runs in a separate process, instrumented with the Google
Allocation Instrumenter.
*/
public static void main(final String[] args) throws Exception {
-
System.setProperty(LoggingSystemProperty.THREAD_CONTEXT_GARBAGE_FREE_ENABLED,
"true");
+
System.setProperty(LoggingSystemProperty.THREAD_CONTEXT_GARBAGE_FREE_ENABLED.getSystemKey(),
"true");
System.setProperty("AsyncLogger.RingBufferSize", "128"); // minimum
ringbuffer size
System.setProperty("Log4jContextSelector",
AsyncLoggerContextSelector.class.getName());
GcFreeLoggingTestUtil.executeLogging("gcFreeLogging.xml",
GcFreeAsynchronousLoggingTest.class);
diff --git
a/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeLoggingTestUtil.java
b/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeLoggingTestUtil.java
index 17f9c51e95..8654adb452 100644
---
a/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeLoggingTestUtil.java
+++
b/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeLoggingTestUtil.java
@@ -31,6 +31,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.MarkerManager;
import org.apache.logging.log4j.ThreadContext;
+import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
import org.apache.logging.log4j.core.util.Constants;
import org.apache.logging.log4j.message.StringMapMessage;
import org.apache.logging.log4j.spi.LoggingSystemProperty;
@@ -52,10 +53,10 @@ public enum GcFreeLoggingTestUtil {;
public static void executeLogging(final String configurationFile,
final Class<?> testClass) throws
Exception {
- System.setProperty(LoggingSystemProperty.SYSTEM_THREAD_LOCALS_ENABLED,
"true");
- System.setProperty("log4j2.enable.direct.encoders", "true");
- System.setProperty(LoggingSystemProperty.SYSTEM_IS_WEBAPP, "false");
- System.setProperty("log4j.configurationFile", configurationFile);
+
System.setProperty(LoggingSystemProperty.THREAD_LOCALS_ENABLE.getSystemKey(),
"true");
+
System.setProperty(Log4jPropertyKey.GC_ENABLE_DIRECT_ENCODERS.getSystemKey(),
"true");
+ System.setProperty(LoggingSystemProperty.IS_WEBAPP.getSystemKey(),
"false");
+ System.setProperty(Log4jPropertyKey.CONFIG_LOCATION.getSystemKey(),
configurationFile);
assertTrue(isThreadLocalsEnabled(), "Constants.ENABLE_THREADLOCALS");
assertTrue(Constants.ENABLE_DIRECT_ENCODERS,
"Constants.ENABLE_DIRECT_ENCODERS");
diff --git
a/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeMixedSyncAyncLoggingTest.java
b/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeMixedSyncAyncLoggingTest.java
index c061c9b10b..b09ede3232 100644
---
a/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeMixedSyncAyncLoggingTest.java
+++
b/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeMixedSyncAyncLoggingTest.java
@@ -41,7 +41,7 @@ public class GcFreeMixedSyncAyncLoggingTest {
* This code runs in a separate process, instrumented with the Google
Allocation Instrumenter.
*/
public static void main(final String[] args) throws Exception {
-
System.setProperty(LoggingSystemProperty.THREAD_CONTEXT_GARBAGE_FREE_ENABLED,
"true");
+
System.setProperty(LoggingSystemProperty.THREAD_CONTEXT_GARBAGE_FREE_ENABLED.getSystemKey(),
"true");
System.setProperty("AsyncLoggerConfig.RingBufferSize", "128"); //
minimum ringbuffer size
GcFreeLoggingTestUtil.executeLogging("gcFreeMixedSyncAsyncLogging.xml",
GcFreeMixedSyncAyncLoggingTest.class);
}
diff --git
a/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeSynchronousLoggingTest.java
b/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeSynchronousLoggingTest.java
index b247b484a8..bdede80920 100644
---
a/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeSynchronousLoggingTest.java
+++
b/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/GcFreeSynchronousLoggingTest.java
@@ -41,7 +41,7 @@ public class GcFreeSynchronousLoggingTest {
* This code runs in a separate process, instrumented with the Google
Allocation Instrumenter.
*/
public static void main(final String[] args) throws Exception {
-
System.setProperty(LoggingSystemProperty.THREAD_CONTEXT_GARBAGE_FREE_ENABLED,
"true");
+
System.setProperty(LoggingSystemProperty.THREAD_CONTEXT_GARBAGE_FREE_ENABLED.getSystemKey(),
"true");
GcFreeLoggingTestUtil.executeLogging("gcFreeLogging.xml",
GcFreeSynchronousLoggingTest.class);
}
}
diff --git
a/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/JsonTemplateLayoutGcFreeTest.java
b/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/JsonTemplateLayoutGcFreeTest.java
index d740bd6e10..f04c3eb880 100644
---
a/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/JsonTemplateLayoutGcFreeTest.java
+++
b/log4j-gctests/src/test/java/org/apache/logging/log4j/gctests/JsonTemplateLayoutGcFreeTest.java
@@ -34,7 +34,7 @@ public class JsonTemplateLayoutGcFreeTest {
*/
public static void main(final String[] args) throws Exception {
System.setProperty("log4j.layout.jsonTemplate.recyclerFactory",
"threadLocal");
-
System.setProperty(LoggingSystemProperty.THREAD_CONTEXT_GARBAGE_FREE_ENABLED,
"true");
+
System.setProperty(LoggingSystemProperty.THREAD_CONTEXT_GARBAGE_FREE_ENABLED.getSystemKey(),
"true");
GcFreeLoggingTestUtil.executeLogging(
"gcFreeJsonTemplateLayoutLogging.xml",
JsonTemplateLayoutGcFreeTest.class);
diff --git
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/AbstractJdbcAppenderDataSourceTest.java
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/AbstractJdbcAppenderDataSourceTest.java
index 0c227c7261..1622b3a04f 100644
---
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/AbstractJdbcAppenderDataSourceTest.java
+++
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/AbstractJdbcAppenderDataSourceTest.java
@@ -26,8 +26,8 @@ import javax.sql.DataSource;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.core.util.Throwables;
import org.apache.logging.log4j.core.test.junit.LoggerContextRule;
+import org.apache.logging.log4j.core.util.Throwables;
import org.apache.logging.log4j.jndi.test.junit.JndiRule;
import org.h2.util.IOUtils;
import org.junit.BeforeClass;
@@ -52,7 +52,7 @@ public abstract class AbstractJdbcAppenderDataSourceTest {
@BeforeClass
public static void beforeClass() {
- System.setProperty("log4j2.enableJndiJdbc", "true");
+ System.setProperty("log4j2.*.JNDI.enableJDBC", "true");
}
protected AbstractJdbcAppenderDataSourceTest(final JdbcRule jdbcRule) {
diff --git
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/DataSourceConnectionSourceTest.java
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/DataSourceConnectionSourceTest.java
index 2ad7361bda..8b5e195a17 100644
---
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/DataSourceConnectionSourceTest.java
+++
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/DataSourceConnectionSourceTest.java
@@ -16,19 +16,10 @@
*/
package org.apache.logging.log4j.jdbc.appender;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.mockito.BDDMockito.given;
-import static org.mockito.Mockito.mock;
-
import java.sql.Connection;
import java.sql.SQLException;
-
import javax.sql.DataSource;
-
import org.apache.logging.log4j.core.test.junit.LoggerContextRule;
import org.apache.logging.log4j.jndi.test.junit.JndiRule;
import org.junit.Rule;
@@ -37,12 +28,19 @@ import org.junit.rules.RuleChain;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.mockito.BDDMockito.given;
+import static org.mockito.Mockito.mock;
+
@RunWith(Parameterized.class)
public class DataSourceConnectionSourceTest {
@Parameterized.Parameters(name = "{0}")
public static Object[][] data() {
- System.setProperty("log4j2.enableJndiJdbc", "true");
+ System.setProperty("log4j2.*.JNDI.enableJDBC", "true");
return new Object[][]{
{"java:/comp/env/jdbc/Logging01"},
{"java:/comp/env/jdbc/Logging02"}
diff --git
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderMapMessageDataSourceTest.java
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderMapMessageDataSourceTest.java
index ed04a6884e..0c72c5074e 100644
---
a/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderMapMessageDataSourceTest.java
+++
b/log4j-jdbc/src/test/java/org/apache/logging/log4j/jdbc/appender/JdbcAppenderMapMessageDataSourceTest.java
@@ -16,11 +16,6 @@
*/
package org.apache.logging.log4j.jdbc.appender;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.BDDMockito.given;
-import static org.mockito.Mockito.mock;
-
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
@@ -28,7 +23,6 @@ import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
-
import javax.sql.DataSource;
import org.apache.commons.lang3.StringUtils;
@@ -47,6 +41,11 @@ import org.junit.rules.RuleChain;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.BDDMockito.given;
+import static org.mockito.Mockito.mock;
+
/**
* Unit tests {@link MapMessage}s for JdbcAppender using a {@link DataSource}
configuration.
*/
@@ -58,7 +57,7 @@ public class JdbcAppenderMapMessageDataSourceTest {
@BeforeClass
public static void beforeClass() {
- System.setProperty("log4j2.enableJndiJdbc", "true");
+ System.setProperty("log4j2.*.JNDI.enableJDBC", "true");
}
public JdbcAppenderMapMessageDataSourceTest() {
diff --git
a/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/appender/routing/RoutingAppenderWithJndiTest.java
b/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/appender/routing/RoutingAppenderWithJndiTest.java
index fc24c35a1a..e7bee0103b 100644
---
a/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/appender/routing/RoutingAppenderWithJndiTest.java
+++
b/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/appender/routing/RoutingAppenderWithJndiTest.java
@@ -23,10 +23,10 @@ import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.apache.logging.log4j.EventLogger;
-import org.apache.logging.log4j.jndi.test.junit.JndiRule;
+import org.apache.logging.log4j.core.test.appender.ListAppender;
import org.apache.logging.log4j.core.test.junit.LoggerContextRule;
+import org.apache.logging.log4j.jndi.test.junit.JndiRule;
import org.apache.logging.log4j.message.StructuredDataMessage;
-import org.apache.logging.log4j.core.test.appender.ListAppender;
import org.junit.After;
import org.junit.Before;
import org.junit.ClassRule;
@@ -47,7 +47,7 @@ public class RoutingAppenderWithJndiTest {
public static LoggerContextRule loggerContextRule = new
LoggerContextRule(getLocation());
private static String getLocation() {
- System.setProperty("log4j2.enableJndiLookup", "true");
+ System.setProperty("log4j2.*.JNDI.enableLookup", "true");
return "log4j-routing-by-jndi.xml";
}
diff --git
a/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/lookup/InterpolatorTest.java
b/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/lookup/InterpolatorTest.java
index c1f1c0615b..b80bbebb42 100644
---
a/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/lookup/InterpolatorTest.java
+++
b/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/lookup/InterpolatorTest.java
@@ -54,14 +54,14 @@ public class InterpolatorTest {
protected void before() throws Throwable {
System.setProperty(TESTKEY, TESTVAL);
System.setProperty(TESTKEY2, TESTVAL);
- System.setProperty("log4j2.enableJndiLookup", "true");
+ System.setProperty("log4j2.*.JNDI.enableLookup", "true");
}
@Override
protected void after() {
System.clearProperty(TESTKEY);
System.clearProperty(TESTKEY2);
- System.clearProperty("log4j2.enableJndiLookup");
+ System.clearProperty("log4j2.*.JNDI.enableLookup");
}
}).around(new JndiRule(
JndiLookup.CONTAINER_JNDI_RESOURCE_PATH_PREFIX +
TEST_CONTEXT_RESOURCE_NAME, TEST_CONTEXT_NAME));
diff --git
a/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/lookup/JndiLookupTest.java
b/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/lookup/JndiLookupTest.java
index 43a0996adb..bb61bbeef6 100644
---
a/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/lookup/JndiLookupTest.java
+++
b/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/lookup/JndiLookupTest.java
@@ -46,7 +46,7 @@ public class JndiLookupTest {
@BeforeClass
public static void beforeClass() {
- System.setProperty("log4j2.enableJndiLookup", "true");
+ System.setProperty("log4j2.*.JNDI.enableLookup", "true");
}
private Map<String, Object> createBindings() {
diff --git
a/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/lookup/JndiRestrictedLookupTest.java
b/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/lookup/JndiRestrictedLookupTest.java
index 38ac3ba4eb..10551366c8 100644
---
a/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/lookup/JndiRestrictedLookupTest.java
+++
b/log4j-jndi-test/src/test/java/org/apache/logging/log4j/jndi/lookup/JndiRestrictedLookupTest.java
@@ -53,7 +53,7 @@ public class JndiRestrictedLookupTest {
@BeforeClass
public static void beforeClass() {
- System.setProperty("log4j2.enableJndiLookup", "true");
+ System.setProperty("log4j2.*.JNDI.enableLookup", "true");
}
@Test
diff --git
a/log4j-jndi/src/main/java/org/apache/logging/log4j/jndi/JndiManager.java
b/log4j-jndi/src/main/java/org/apache/logging/log4j/jndi/JndiManager.java
index 92c65aa968..63ffe537b6 100644
--- a/log4j-jndi/src/main/java/org/apache/logging/log4j/jndi/JndiManager.java
+++ b/log4j-jndi/src/main/java/org/apache/logging/log4j/jndi/JndiManager.java
@@ -14,14 +14,12 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.jndi;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Properties;
import java.util.concurrent.TimeUnit;
-
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
@@ -215,7 +213,7 @@ public class JndiManager extends AbstractManager {
public JndiManager createManager(final String name, final Properties
data) {
if (!isJndiEnabled()) {
throw new IllegalStateException(String.format("JNDI must be
enabled by setting one of the %s* properties to true",
- Log4jPropertyKey.Constant.JNDI_ENABLED));
+ "JNDI.enable{SubKey}"));
}
try {
return new JndiManager(name, new InitialContext(data));
diff --git
a/log4j-jndi/src/main/java/org/apache/logging/log4j/jndi/lookup/JndiLookup.java
b/log4j-jndi/src/main/java/org/apache/logging/log4j/jndi/lookup/JndiLookup.java
index 5dd5d02dae..5755bd1ebb 100644
---
a/log4j-jndi/src/main/java/org/apache/logging/log4j/jndi/lookup/JndiLookup.java
+++
b/log4j-jndi/src/main/java/org/apache/logging/log4j/jndi/lookup/JndiLookup.java
@@ -16,10 +16,14 @@
*/
package org.apache.logging.log4j.jndi.lookup;
+import java.util.Objects;
+import javax.naming.NamingException;
+
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.MarkerManager;
import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
import org.apache.logging.log4j.core.lookup.AbstractLookup;
import org.apache.logging.log4j.core.lookup.Lookup;
import org.apache.logging.log4j.jndi.JndiManager;
@@ -27,15 +31,13 @@ import org.apache.logging.log4j.plugins.Plugin;
import
org.apache.logging.log4j.plugins.validation.constraints.RequiredProperty;
import org.apache.logging.log4j.status.StatusLogger;
-import javax.naming.NamingException;
-import java.util.Objects;
-
/**
* Looks up keys from JNDI resources.
*/
@Lookup
@Plugin("jndi")
-@RequiredProperty(name = "log4j2.enableJndiLookup", value = "true", message =
"JNDI must be enabled by setting log4j2.enableJndiLookup=true")
+@RequiredProperty(name = Log4jPropertyKey.Constant.JNDI_ENABLE_LOOKUP, value =
"true",
+ message = "JNDI must be enabled by setting JNDI.enableLookup=true")
public class JndiLookup extends AbstractLookup {
private static final Logger LOGGER = StatusLogger.getLogger();
diff --git
a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ConcurrentAsyncLoggerToFileBenchmark.java
b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ConcurrentAsyncLoggerToFileBenchmark.java
index e065090340..c2d5904bf1 100644
---
a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ConcurrentAsyncLoggerToFileBenchmark.java
+++
b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ConcurrentAsyncLoggerToFileBenchmark.java
@@ -86,7 +86,7 @@ public class ConcurrentAsyncLoggerToFileBenchmark {
@Setup
public final void before() throws IOException {
Files.deleteIfExists(Path.of("target",
"ConcurrentAsyncLoggerToFileBenchmark.log"));
- System.setProperty(LoggingSystemProperty.SYSTEM_IS_WEBAPP,
"false");
+ System.setProperty(LoggingSystemProperty.Constant.WEB_IS_WEBAPP,
"false");
asyncLoggerType.setProperties();
queueFullPolicy.setProperties();
logger =
LogManager.getLogger(ConcurrentAsyncLoggerToFileBenchmark.class);
diff --git
a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/FileAppenderThrowableBenchmark.java
b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/FileAppenderThrowableBenchmark.java
index 9ae1d67b80..f8a14c6de5 100644
---
a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/FileAppenderThrowableBenchmark.java
+++
b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/FileAppenderThrowableBenchmark.java
@@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory;
public class FileAppenderThrowableBenchmark {
static {
// log4j2
- System.setProperty(LoggingSystemProperty.SYSTEM_IS_WEBAPP, "false");
+ System.setProperty(LoggingSystemProperty.Constant.WEB_IS_WEBAPP,
"false");
System.setProperty("log4j.configurationFile",
"log4j2-perf-file-throwable.xml");
// log4j 1.2
System.setProperty("log4j.configuration",
"log4j12-perf-file-throwable.xml");