This is an automated email from the ASF dual-hosted git repository.
pkarwasz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/master by this push:
new e7c1718716 Fix remaining formatting problems
e7c1718716 is described below
commit e7c171871679a72905fb29aeae7a990f75428c8a
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Thu Nov 10 00:09:24 2022 +0100
Fix remaining formatting problems
---
.../java/org/apache/log4j/BasicConfigurator.java | 4 +-
.../src/main/java/org/apache/log4j/LogManager.java | 448 ++++++++++-----------
.../src/main/java/org/apache/log4j/Logger.java | 4 +-
.../config/PropertiesConfigurationFactory.java | 11 +-
.../apache/log4j/layout/Log4j1SyslogLayout.java | 12 +-
.../apache/log4j/xml/XmlConfigurationFactory.java | 11 +-
.../logging/log4j/test/junit/ClassMatchers.java | 1 -
...EnvironmentPropertySourceSecurityManagerIT.java | 87 ++--
.../apache/logging/log4j/util/LoaderUtilTest.java | 8 +-
.../log4j/util/Log4jCharsetsPropertiesTest.java | 5 +-
...ropertyFilePropertySourceSecurityManagerIT.java | 15 +-
...mPropertiesPropertySourceSecurityManagerIT.java | 99 +++--
.../util/SystemPropertiesPropertySourceTest.java | 15 +-
.../log4j/message/ReusableSimpleMessage.java | 1 -
.../logging/log4j/message/StringMapMessage.java | 7 +-
.../log4j/message/StructuredDataMessage.java | 7 +-
.../logging/log4j/spi/AbstractLoggerAdapter.java | 8 +-
.../apache/logging/log4j/status/StatusData.java | 14 +-
.../log4j/util/EnvironmentPropertySource.java | 70 ++--
.../logging/log4j/util/PerformanceSensitive.java | 1 -
.../log4j/cassandra/CassandraExtension.java | 20 +-
.../log4j/core/test/CoreLoggerContexts.java | 1 -
.../log4j/core/appender/TlsSyslogAppenderTest.java | 6 +-
.../core/async/perftest/ResponseTimeTest.java | 14 +-
.../core/net/ssl/SslConfigurationFactoryTest.java | 6 +-
.../java/org/apache/logging/log4j/core/Filter.java | 3 +-
.../core/async/AsyncLoggerContextSelector.java | 4 +-
.../logging/log4j/core/async/DisruptorUtil.java | 10 +-
.../log4j/core/async/RingBufferLogEvent.java | 7 +-
.../core/async/ThreadNameCachingStrategy.java | 171 ++++----
.../log4j/core/config/ConfigurationSource.java | 29 +-
.../logging/log4j/core/config/HttpWatcher.java | 12 +-
.../core/config/ReliabilityStrategyFactory.java | 1 -
.../config/plugins/convert/CoreTypeConverters.java | 17 +-
.../logging/log4j/core/filter/CompositeFilter.java | 12 +-
.../core/filter/MutableThreadContextMapFilter.java | 23 +-
.../log4j/core/filter/StructuredDataFilter.java | 10 +-
.../log4j/core/filter/ThreadContextMapFilter.java | 14 +-
.../logging/log4j/core/filter/TimeFilter.java | 18 +-
.../logging/log4j/core/impl/DefaultCallback.java | 1 -
.../log4j/core/impl/Log4jContextFactory.java | 32 +-
.../org/apache/logging/log4j/core/jmx/Server.java | 72 ++--
.../logging/log4j/core/layout/SyslogLayout.java | 20 +-
.../log4j/core/net/MulticastDnsAdvertiser.java | 12 +-
.../log4j/core/osgi/BundleContextSelector.java | 12 +-
.../core/pattern/AbstractStyleNameConverter.java | 10 +-
.../log4j/core/pattern/DatePatternConverter.java | 14 +-
.../core/pattern/EncodingPatternConverter.java | 4 +-
.../EqualsIgnoreCaseReplacementConverter.java | 4 +-
.../core/pattern/EqualsReplacementConverter.java | 4 +-
.../logging/log4j/core/pattern/FormattingInfo.java | 15 +-
.../core/pattern/IntegerPatternConverter.java | 4 +-
.../log4j/core/pattern/LevelPatternConverter.java | 8 +-
.../log4j/core/pattern/MaxLengthConverter.java | 5 +-
.../pattern/SequenceNumberPatternConverter.java | 4 +-
.../logging/log4j/core/pattern/StyleConverter.java | 6 +-
.../VariablesNotEmptyReplacementConverter.java | 4 +-
.../apache/logging/log4j/core/util/UuidUtil.java | 1 -
.../log4j/gctests/GcFreeLoggingTestUtil.java | 21 +-
.../jpa/converter/ThrowableAttributeConverter.java | 1 -
.../apache/logging/log4j/jul/LevelTranslator.java | 1 -
.../template/json/util/RecyclerFactories.java | 6 +-
.../log4j/layout/template/json/util/Uris.java | 8 +-
.../perf/jmh/StringBuilderEscapeBenchmark.java | 5 +-
.../plugins/condition/OnPropertyCondition.java | 5 +-
.../logging/log4j/plugins/util/ResolverUtil.java | 12 +-
.../visit/PluginBuilderAttributeVisitor.java | 15 +-
.../logging/log4j/script/ScriptManagerImpl.java | 1 -
.../apache/logging/slf4j/Log4jLoggerFactory.java | 4 +-
.../logging/slf4j/SLF4JLoggerContextFactory.java | 138 +++----
70 files changed, 815 insertions(+), 840 deletions(-)
diff --git
a/log4j-1.2-api/src/main/java/org/apache/log4j/BasicConfigurator.java
b/log4j-1.2-api/src/main/java/org/apache/log4j/BasicConfigurator.java
index 14910d8b01..de42217421 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/BasicConfigurator.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/BasicConfigurator.java
@@ -20,12 +20,12 @@ import org.apache.logging.log4j.util.StackLocatorUtil;
/**
* Configures the package.
- *
+ *
* <p>
* For file based configuration, see {@link PropertyConfigurator}. For XML
based configuration, see
* {@link org.apache.log4j.xml.DOMConfigurator DOMConfigurator}.
* </p>
- *
+ *
* @since 0.8.1
*/
public class BasicConfigurator {
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/LogManager.java
b/log4j-1.2-api/src/main/java/org/apache/log4j/LogManager.java
index 4d0bbd7568..26c19bd3de 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/LogManager.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/LogManager.java
@@ -1,224 +1,224 @@
-/*
- * 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.log4j;
-
-import org.apache.log4j.legacy.core.ContextUtil;
-import org.apache.log4j.spi.DefaultRepositorySelector;
-import org.apache.log4j.spi.LoggerFactory;
-import org.apache.log4j.spi.LoggerRepository;
-import org.apache.log4j.spi.NOPLoggerRepository;
-import org.apache.log4j.spi.RepositorySelector;
-import org.apache.log4j.spi.RootLogger;
-import org.apache.logging.log4j.spi.LoggerContext;
-import org.apache.logging.log4j.util.LoaderUtil;
-import org.apache.logging.log4j.util.StackLocatorUtil;
-
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.stream.Collectors;
-
-/**
- * The main entry point to Log4j 1.
- */
-public final class LogManager {
-
- /**
- * @deprecated This variable is for internal use only. It will become
package protected in future versions.
- */
- @Deprecated
- public static final String DEFAULT_CONFIGURATION_FILE = "log4j.properties";
-
- /**
- * @deprecated This variable is for internal use only. It will become
private in future versions.
- */
- @Deprecated
- public static final String DEFAULT_CONFIGURATION_KEY =
"log4j.configuration";
-
- /**
- * @deprecated This variable is for internal use only. It will become
private in future versions.
- */
- @Deprecated
- public static final String CONFIGURATOR_CLASS_KEY =
"log4j.configuratorClass";
-
- /**
- * @deprecated This variable is for internal use only. It will become
private in future versions.
- */
- @Deprecated
- public static final String DEFAULT_INIT_OVERRIDE_KEY =
"log4j.defaultInitOverride";
-
- static final String DEFAULT_XML_CONFIGURATION_FILE = "log4j.xml";
-
- static private RepositorySelector repositorySelector;
-
- private static final boolean LOG4J_CORE_PRESENT;
-
- static {
- LOG4J_CORE_PRESENT =
LoaderUtil.isClassAvailable("org.apache.logging.log4j.core.LoggerContext");
- // By default, we use a DefaultRepositorySelector which always returns
'hierarchy'.
- final Hierarchy hierarchy = new Hierarchy(new RootLogger(Level.DEBUG));
- repositorySelector = new DefaultRepositorySelector(hierarchy);
- }
-
- /**
- * Tests if a logger for the given name exists.
- *
- * @param name logger name to test.
- * @return whether a logger for the given name exists.
- */
- public static Logger exists(final String name) {
- return exists(name, StackLocatorUtil.getCallerClassLoader(2));
- }
-
- static Logger exists(final String name, final ClassLoader classLoader) {
- return getHierarchy().exists(name, classLoader);
- }
-
- /**
- * Gets a LoggerContext.
- *
- * @param classLoader The ClassLoader for the context. If null the context
will attempt to determine the appropriate
- * ClassLoader.
- * @return a LoggerContext.
- */
- static LoggerContext getContext(final ClassLoader classLoader) {
- return org.apache.logging.log4j.LogManager.getContext(classLoader,
false);
- }
-
- /**
- * Gets an enumeration of the current loggers.
- *
- * @return an enumeration of the current loggers.
- */
- @SuppressWarnings("rawtypes")
- public static Enumeration getCurrentLoggers() {
- return getCurrentLoggers(StackLocatorUtil.getCallerClassLoader(2));
- }
-
- @SuppressWarnings("rawtypes")
- static Enumeration getCurrentLoggers(final ClassLoader classLoader) {
- // @formatter:off
- return Collections.enumeration(
- LogManager.getContext(classLoader).getLoggerRegistry()
- .getLoggers().stream().map(e ->
LogManager.getLogger(e.getName(), classLoader))
- .collect(Collectors.toList()));
- // @formatter:on
- }
-
- static Hierarchy getHierarchy() {
- final LoggerRepository loggerRepository = getLoggerRepository();
- return loggerRepository instanceof Hierarchy ? (Hierarchy)
loggerRepository : null;
- }
-
- /**
- * Gets the logger for the given class.
- */
- public static Logger getLogger(final Class<?> clazz) {
- final Hierarchy hierarchy = getHierarchy();
- return hierarchy != null ? hierarchy.getLogger(clazz.getName(),
StackLocatorUtil.getCallerClassLoader(2))
- : getLoggerRepository().getLogger(clazz.getName());
- }
-
- /**
- * Gets the logger for the given name.
- */
- public static Logger getLogger(final String name) {
- final Hierarchy hierarchy = getHierarchy();
- return hierarchy != null ? hierarchy.getLogger(name,
StackLocatorUtil.getCallerClassLoader(2)) :
getLoggerRepository().getLogger(name);
- }
-
- static Logger getLogger(final String name, final ClassLoader classLoader) {
- final Hierarchy hierarchy = getHierarchy();
- return hierarchy != null ? hierarchy.getLogger(name, classLoader) :
getLoggerRepository().getLogger(name);
- }
-
- public static Logger getLogger(final String name, final LoggerFactory
factory) {
- final Hierarchy hierarchy = getHierarchy();
- return hierarchy != null ? hierarchy.getLogger(name, factory,
StackLocatorUtil.getCallerClassLoader(2))
- : getLoggerRepository().getLogger(name, factory);
- }
-
- static Logger getLogger(final String name, final LoggerFactory factory,
final ClassLoader classLoader) {
- final Hierarchy hierarchy = getHierarchy();
- return hierarchy != null ? hierarchy.getLogger(name, factory,
classLoader) : getLoggerRepository().getLogger(name, factory);
- }
-
- public static LoggerRepository getLoggerRepository() {
- if (repositorySelector == null) {
- repositorySelector = new DefaultRepositorySelector(new
NOPLoggerRepository());
- }
- return repositorySelector.getLoggerRepository();
- }
-
- /**
- * Gets the root logger.
- */
- public static Logger getRootLogger() {
- return getRootLogger(StackLocatorUtil.getCallerClassLoader(2));
- }
-
- static Logger getRootLogger(final ClassLoader classLoader) {
- final Hierarchy hierarchy = getHierarchy();
- return hierarchy != null ? hierarchy.getRootLogger(classLoader) :
getLoggerRepository().getRootLogger();
- }
-
- static boolean isLog4jCorePresent() {
- return LOG4J_CORE_PRESENT;
- }
-
- static void reconfigure(final ClassLoader classLoader) {
- if (isLog4jCorePresent()) {
- ContextUtil.reconfigure(LogManager.getContext(classLoader));
- }
- }
-
- public static void resetConfiguration() {
- resetConfiguration(StackLocatorUtil.getCallerClassLoader(2));
- }
-
- static void resetConfiguration(final ClassLoader classLoader) {
- final Hierarchy hierarchy = getHierarchy();
- if (hierarchy != null) {
- hierarchy.resetConfiguration(classLoader);
- } else {
- getLoggerRepository().resetConfiguration();
- }
- }
-
- public static void setRepositorySelector(final RepositorySelector
selector, final Object guard) throws IllegalArgumentException {
- if (selector == null) {
- throw new IllegalArgumentException("RepositorySelector must be
non-null.");
- }
- LogManager.repositorySelector = selector;
- }
-
- /**
- * Shuts down the current configuration.
- */
- public static void shutdown() {
- shutdown(StackLocatorUtil.getCallerClassLoader(2));
- }
-
- static void shutdown(final ClassLoader classLoader) {
- final Hierarchy hierarchy = getHierarchy();
- if (hierarchy != null) {
- hierarchy.shutdown(classLoader);
- } else {
- getLoggerRepository().shutdown();
- }
- }
-
-}
+/*
+ * 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.log4j;
+
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.stream.Collectors;
+
+import org.apache.log4j.legacy.core.ContextUtil;
+import org.apache.log4j.spi.DefaultRepositorySelector;
+import org.apache.log4j.spi.LoggerFactory;
+import org.apache.log4j.spi.LoggerRepository;
+import org.apache.log4j.spi.NOPLoggerRepository;
+import org.apache.log4j.spi.RepositorySelector;
+import org.apache.log4j.spi.RootLogger;
+import org.apache.logging.log4j.spi.LoggerContext;
+import org.apache.logging.log4j.util.LoaderUtil;
+import org.apache.logging.log4j.util.StackLocatorUtil;
+
+/**
+ * The main entry point to Log4j 1.
+ */
+public final class LogManager {
+
+ /**
+ * @deprecated This variable is for internal use only. It will become
package protected in future versions.
+ */
+ @Deprecated
+ public static final String DEFAULT_CONFIGURATION_FILE = "log4j.properties";
+
+ /**
+ * @deprecated This variable is for internal use only. It will become
private in future versions.
+ */
+ @Deprecated
+ public static final String DEFAULT_CONFIGURATION_KEY =
"log4j.configuration";
+
+ /**
+ * @deprecated This variable is for internal use only. It will become
private in future versions.
+ */
+ @Deprecated
+ public static final String CONFIGURATOR_CLASS_KEY =
"log4j.configuratorClass";
+
+ /**
+ * @deprecated This variable is for internal use only. It will become
private in future versions.
+ */
+ @Deprecated
+ public static final String DEFAULT_INIT_OVERRIDE_KEY =
"log4j.defaultInitOverride";
+
+ static final String DEFAULT_XML_CONFIGURATION_FILE = "log4j.xml";
+
+ static private RepositorySelector repositorySelector;
+
+ private static final boolean LOG4J_CORE_PRESENT;
+
+ static {
+ LOG4J_CORE_PRESENT =
LoaderUtil.isClassAvailable("org.apache.logging.log4j.core.LoggerContext");
+ // By default, we use a DefaultRepositorySelector which always returns
'hierarchy'.
+ final Hierarchy hierarchy = new Hierarchy(new RootLogger(Level.DEBUG));
+ repositorySelector = new DefaultRepositorySelector(hierarchy);
+ }
+
+ /**
+ * Tests if a logger for the given name exists.
+ *
+ * @param name logger name to test.
+ * @return whether a logger for the given name exists.
+ */
+ public static Logger exists(final String name) {
+ return exists(name, StackLocatorUtil.getCallerClassLoader(2));
+ }
+
+ static Logger exists(final String name, final ClassLoader classLoader) {
+ return getHierarchy().exists(name, classLoader);
+ }
+
+ /**
+ * Gets a LoggerContext.
+ *
+ * @param classLoader The ClassLoader for the context. If null the context
will attempt to determine the appropriate
+ * ClassLoader.
+ * @return a LoggerContext.
+ */
+ static LoggerContext getContext(final ClassLoader classLoader) {
+ return org.apache.logging.log4j.LogManager.getContext(classLoader,
false);
+ }
+
+ /**
+ * Gets an enumeration of the current loggers.
+ *
+ * @return an enumeration of the current loggers.
+ */
+ @SuppressWarnings("rawtypes")
+ public static Enumeration getCurrentLoggers() {
+ return getCurrentLoggers(StackLocatorUtil.getCallerClassLoader(2));
+ }
+
+ @SuppressWarnings("rawtypes")
+ static Enumeration getCurrentLoggers(final ClassLoader classLoader) {
+ // @formatter:off
+ return Collections.enumeration(
+ LogManager.getContext(classLoader).getLoggerRegistry()
+ .getLoggers().stream().map(e ->
LogManager.getLogger(e.getName(), classLoader))
+ .collect(Collectors.toList()));
+ // @formatter:on
+ }
+
+ static Hierarchy getHierarchy() {
+ final LoggerRepository loggerRepository = getLoggerRepository();
+ return loggerRepository instanceof Hierarchy ? (Hierarchy)
loggerRepository : null;
+ }
+
+ /**
+ * Gets the logger for the given class.
+ */
+ public static Logger getLogger(final Class<?> clazz) {
+ final Hierarchy hierarchy = getHierarchy();
+ return hierarchy != null ? hierarchy.getLogger(clazz.getName(),
StackLocatorUtil.getCallerClassLoader(2))
+ : getLoggerRepository().getLogger(clazz.getName());
+ }
+
+ /**
+ * Gets the logger for the given name.
+ */
+ public static Logger getLogger(final String name) {
+ final Hierarchy hierarchy = getHierarchy();
+ return hierarchy != null ? hierarchy.getLogger(name,
StackLocatorUtil.getCallerClassLoader(2)) :
getLoggerRepository().getLogger(name);
+ }
+
+ static Logger getLogger(final String name, final ClassLoader classLoader) {
+ final Hierarchy hierarchy = getHierarchy();
+ return hierarchy != null ? hierarchy.getLogger(name, classLoader) :
getLoggerRepository().getLogger(name);
+ }
+
+ public static Logger getLogger(final String name, final LoggerFactory
factory) {
+ final Hierarchy hierarchy = getHierarchy();
+ return hierarchy != null ? hierarchy.getLogger(name, factory,
StackLocatorUtil.getCallerClassLoader(2))
+ : getLoggerRepository().getLogger(name, factory);
+ }
+
+ static Logger getLogger(final String name, final LoggerFactory factory,
final ClassLoader classLoader) {
+ final Hierarchy hierarchy = getHierarchy();
+ return hierarchy != null ? hierarchy.getLogger(name, factory,
classLoader) : getLoggerRepository().getLogger(name, factory);
+ }
+
+ public static LoggerRepository getLoggerRepository() {
+ if (repositorySelector == null) {
+ repositorySelector = new DefaultRepositorySelector(new
NOPLoggerRepository());
+ }
+ return repositorySelector.getLoggerRepository();
+ }
+
+ /**
+ * Gets the root logger.
+ */
+ public static Logger getRootLogger() {
+ return getRootLogger(StackLocatorUtil.getCallerClassLoader(2));
+ }
+
+ static Logger getRootLogger(final ClassLoader classLoader) {
+ final Hierarchy hierarchy = getHierarchy();
+ return hierarchy != null ? hierarchy.getRootLogger(classLoader) :
getLoggerRepository().getRootLogger();
+ }
+
+ static boolean isLog4jCorePresent() {
+ return LOG4J_CORE_PRESENT;
+ }
+
+ static void reconfigure(final ClassLoader classLoader) {
+ if (isLog4jCorePresent()) {
+ ContextUtil.reconfigure(LogManager.getContext(classLoader));
+ }
+ }
+
+ public static void resetConfiguration() {
+ resetConfiguration(StackLocatorUtil.getCallerClassLoader(2));
+ }
+
+ static void resetConfiguration(final ClassLoader classLoader) {
+ final Hierarchy hierarchy = getHierarchy();
+ if (hierarchy != null) {
+ hierarchy.resetConfiguration(classLoader);
+ } else {
+ getLoggerRepository().resetConfiguration();
+ }
+ }
+
+ public static void setRepositorySelector(final RepositorySelector
selector, final Object guard) throws IllegalArgumentException {
+ if (selector == null) {
+ throw new IllegalArgumentException("RepositorySelector must be
non-null.");
+ }
+ LogManager.repositorySelector = selector;
+ }
+
+ /**
+ * Shuts down the current configuration.
+ */
+ public static void shutdown() {
+ shutdown(StackLocatorUtil.getCallerClassLoader(2));
+ }
+
+ static void shutdown(final ClassLoader classLoader) {
+ final Hierarchy hierarchy = getHierarchy();
+ if (hierarchy != null) {
+ hierarchy.shutdown(classLoader);
+ } else {
+ getLoggerRepository().shutdown();
+ }
+ }
+
+}
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/Logger.java
b/log4j-1.2-api/src/main/java/org/apache/log4j/Logger.java
index 19c523ea29..b152e2b757 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/Logger.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/Logger.java
@@ -29,7 +29,7 @@ public class Logger extends Category {
* The fully qualified name of the Logger class.
*/
private static final String FQCN = Logger.class.getName();
-
+
public static Logger getLogger(final Class<?> clazz) {
// Depth 2 gets the call site of this method.
return LogManager.getLogger(clazz.getName(),
StackLocatorUtil.getCallerClassLoader(2));
@@ -37,7 +37,7 @@ public class Logger extends Category {
public static Logger getLogger(final String name) {
// Depth 2 gets the call site of this method.
- return LogManager.getLogger(name,
StackLocatorUtil.getCallerClassLoader(2));
+ return LogManager.getLogger(name,
StackLocatorUtil.getCallerClassLoader(2));
}
public static Logger getLogger(final String name, final LoggerFactory
factory) {
diff --git
a/log4j-1.2-api/src/main/java/org/apache/log4j/config/PropertiesConfigurationFactory.java
b/log4j-1.2-api/src/main/java/org/apache/log4j/config/PropertiesConfigurationFactory.java
index c9e6487ee3..bf8f1cab2e 100644
---
a/log4j-1.2-api/src/main/java/org/apache/log4j/config/PropertiesConfigurationFactory.java
+++
b/log4j-1.2-api/src/main/java/org/apache/log4j/config/PropertiesConfigurationFactory.java
@@ -1,20 +1,19 @@
/*
* 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.config;
import org.apache.logging.log4j.core.LoggerContext;
diff --git
a/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1SyslogLayout.java
b/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1SyslogLayout.java
index eda97d292d..1a504492b5 100644
---
a/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1SyslogLayout.java
+++
b/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1SyslogLayout.java
@@ -16,6 +16,12 @@
*/
package org.apache.log4j.layout;
+import java.io.Serializable;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.Map;
+
import org.apache.logging.log4j.core.Layout;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.StringLayout;
@@ -32,12 +38,6 @@ import
org.apache.logging.log4j.plugins.PluginBuilderAttribute;
import org.apache.logging.log4j.plugins.PluginElement;
import org.apache.logging.log4j.util.Chars;
-import java.io.Serializable;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import java.util.HashMap;
-import java.util.Map;
-
/**
* Port of the layout used by SyslogAppender in Log4j 1.x. Provided for
* compatibility with existing Log4j 1 configurations.
diff --git
a/log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfigurationFactory.java
b/log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfigurationFactory.java
index 8521f0dbfb..dfe157684d 100644
---
a/log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfigurationFactory.java
+++
b/log4j-1.2-api/src/main/java/org/apache/log4j/xml/XmlConfigurationFactory.java
@@ -1,20 +1,19 @@
/*
* 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.xml;
import org.apache.log4j.config.Log4j1Configuration;
diff --git
a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/ClassMatchers.java
b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/ClassMatchers.java
index 0d814f62e9..d83ee72fd2 100644
---
a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/ClassMatchers.java
+++
b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/ClassMatchers.java
@@ -14,7 +14,6 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.test.junit;
import org.apache.logging.log4j.util.LoaderUtil;
diff --git
a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/EnvironmentPropertySourceSecurityManagerIT.java
b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/EnvironmentPropertySourceSecurityManagerIT.java
index eebb0a73aa..24b0da537b 100644
---
a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/EnvironmentPropertySourceSecurityManagerIT.java
+++
b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/EnvironmentPropertySourceSecurityManagerIT.java
@@ -14,16 +14,15 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.util;
+import java.security.Permission;
+
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledForJreRange;
import org.junit.jupiter.api.condition.JRE;
import org.junit.jupiter.api.parallel.ResourceLock;
-import java.security.Permission;
-
/**
* Tests <a
href="https://issues.apache.org/jira/browse/LOG4J2-2274">LOG4J2-2274</a>.
* <p>
@@ -31,7 +30,7 @@ import java.security.Permission;
* integration tests (classes that end in "IT" instead of "Test" and
* "TestCase".)
* </p>
- *
+ *
* @see EnvironmentPropertySource
* @see SecurityManager
* @see System#setSecurityManager(SecurityManager)
@@ -40,45 +39,45 @@ import java.security.Permission;
@DisabledForJreRange(min = JRE.JAVA_18) // custom SecurityManager instances
throw UnsupportedOperationException
public class EnvironmentPropertySourceSecurityManagerIT {
- /**
- * Always throws a SecurityException for any environment variables
permission
- * check.
- */
- private static class TestSecurityManager extends SecurityManager {
- @Override
- public void checkPermission(final Permission permission) {
- if ("getenv.*".equals(permission.getName())) {
- throw new SecurityException();
- }
- }
- }
+ /**
+ * Always throws a SecurityException for any environment variables
permission
+ * check.
+ */
+ private static class TestSecurityManager extends SecurityManager {
+ @Override
+ public void checkPermission(final Permission permission) {
+ if ("getenv.*".equals(permission.getName())) {
+ throw new SecurityException();
+ }
+ }
+ }
- /**
- * Makes sure we do not blow up with exception below due to a security
manager
- * rejecting environment variable access in {@link
EnvironmentPropertySource}.
- *
- * <pre>
- * java.lang.NoClassDefFoundError: Could not initialize class
org.apache.logging.log4j.util.PropertiesUtil
- * at
org.apache.logging.log4j.status.StatusLogger.<clinit>(StatusLogger.java:78)
- * at
org.apache.logging.log4j.core.AbstractLifeCycle.<clinit>(AbstractLifeCycle.java:38)
- * at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
- * at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
- * at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
- * at
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
- * at
org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:172)
- * at
org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:161)
- * at
org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:1)
- * at
org.apache.logging.log4j.util.EnvironmentPropertySourceSecurityManagerTest.test(EnvironmentPropertySourceSecurityManagerTest.java:55)
- * </pre>
- */
- @Test
- public void test() {
- var existing = System.getSecurityManager();
- try {
- System.setSecurityManager(new TestSecurityManager());
- PropertiesUtil.getProperties();
- } finally {
- System.setSecurityManager(existing);
- }
- }
+ /**
+ * Makes sure we do not blow up with exception below due to a security
manager
+ * rejecting environment variable access in {@link
EnvironmentPropertySource}.
+ *
+ * <pre>
+ * java.lang.NoClassDefFoundError: Could not initialize class
org.apache.logging.log4j.util.PropertiesUtil
+ * at
org.apache.logging.log4j.status.StatusLogger.<clinit>(StatusLogger.java:78)
+ * at
org.apache.logging.log4j.core.AbstractLifeCycle.<clinit>(AbstractLifeCycle.java:38)
+ * at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
+ * at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
+ * at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
+ * at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
+ * at
org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:172)
+ * at
org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:161)
+ * at
org.apache.logging.log4j.core.config.builder.impl.DefaultConfigurationBuilder.build(DefaultConfigurationBuilder.java:1)
+ * at
org.apache.logging.log4j.util.EnvironmentPropertySourceSecurityManagerTest.test(EnvironmentPropertySourceSecurityManagerTest.java:55)
+ * </pre>
+ */
+ @Test
+ public void test() {
+ var existing = System.getSecurityManager();
+ try {
+ System.setSecurityManager(new TestSecurityManager());
+ PropertiesUtil.getProperties();
+ } finally {
+ System.setSecurityManager(existing);
+ }
+ }
}
diff --git
a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/LoaderUtilTest.java
b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/LoaderUtilTest.java
index 675c54f33e..13700572d3 100644
---
a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/LoaderUtilTest.java
+++
b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/LoaderUtilTest.java
@@ -16,15 +16,15 @@
*/
package org.apache.logging.log4j.util;
+import java.net.URL;
+import java.util.Collections;
+import java.util.Enumeration;
+
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junitpioneer.jupiter.ReadsSystemProperty;
-import java.net.URL;
-import java.util.Collections;
-import java.util.Enumeration;
-
import static org.junit.jupiter.api.Assertions.assertEquals;
@ReadsSystemProperty
diff --git
a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/Log4jCharsetsPropertiesTest.java
b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/Log4jCharsetsPropertiesTest.java
index 5666fa321d..7e2b48ccfe 100644
---
a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/Log4jCharsetsPropertiesTest.java
+++
b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/Log4jCharsetsPropertiesTest.java
@@ -14,15 +14,14 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.util;
-import org.junit.jupiter.api.Test;
-
import java.nio.charset.Charset;
import java.util.Enumeration;
import java.util.ResourceBundle;
+import org.junit.jupiter.api.Test;
+
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
diff --git
a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/PropertyFilePropertySourceSecurityManagerIT.java
b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/PropertyFilePropertySourceSecurityManagerIT.java
index 40cdcb611f..8d137efa84 100644
---
a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/PropertyFilePropertySourceSecurityManagerIT.java
+++
b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/PropertyFilePropertySourceSecurityManagerIT.java
@@ -14,20 +14,19 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.util;
+import java.io.FilePermission;
+import java.nio.file.Paths;
+import java.security.Permission;
+import java.util.PropertyPermission;
+
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledForJreRange;
import org.junit.jupiter.api.condition.JRE;
import org.junit.jupiter.api.parallel.ResourceLock;
-import java.io.FilePermission;
-import java.nio.file.Paths;
-import java.security.Permission;
-import java.util.PropertyPermission;
-
import static org.assertj.core.api.Assertions.assertThat;
/**
@@ -37,7 +36,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* integration tests (classes that end in "IT" instead of "Test" and
* "TestCase".)
* </p>
- *
+ *
* @see PropertyFilePropertySource
* @see SecurityManager
* @see System#setSecurityManager(SecurityManager)
@@ -72,7 +71,7 @@ public class PropertyFilePropertySourceSecurityManagerIT {
* Makes sure we do not blow up with exception below due to a security
manager
* rejecting environment variable access in
* {@link SystemPropertiesPropertySource}.
- *
+ *
* <pre>
* </pre>
*/
diff --git
a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceSecurityManagerIT.java
b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceSecurityManagerIT.java
index d4df643cf2..439a3788b4 100644
---
a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceSecurityManagerIT.java
+++
b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceSecurityManagerIT.java
@@ -14,17 +14,16 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.util;
+import java.security.Permission;
+import java.util.PropertyPermission;
+
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.condition.DisabledForJreRange;
import org.junit.jupiter.api.condition.JRE;
import org.junit.jupiter.api.parallel.ResourceLock;
-import java.security.Permission;
-import java.util.PropertyPermission;
-
import static org.assertj.core.api.Assertions.assertThat;
/**
@@ -34,7 +33,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* integration tests (classes that end in "IT" instead of "Test" and
* "TestCase".)
* </p>
- *
+ *
* @see SystemPropertiesPropertySource
* @see SecurityManager
* @see System#setSecurityManager(SecurityManager)
@@ -44,50 +43,50 @@ import static org.assertj.core.api.Assertions.assertThat;
@DisabledForJreRange(min = JRE.JAVA_18) // custom SecurityManager instances
throw UnsupportedOperationException
public class SystemPropertiesPropertySourceSecurityManagerIT {
- /**
- * Always throws a SecurityException for any environment variables
permission
- * check.
- */
- private static class TestSecurityManager extends SecurityManager {
- @Override
- public void checkPermission(final Permission permission) {
- if (permission instanceof PropertyPermission) {
- throw new SecurityException();
- }
- }
- }
+ /**
+ * Always throws a SecurityException for any environment variables
permission
+ * check.
+ */
+ private static class TestSecurityManager extends SecurityManager {
+ @Override
+ public void checkPermission(final Permission permission) {
+ if (permission instanceof PropertyPermission) {
+ throw new SecurityException();
+ }
+ }
+ }
- /**
- * Makes sure we do not blow up with exception below due to a security
manager
- * rejecting environment variable access in
- * {@link SystemPropertiesPropertySource}.
- *
- * <pre>
- * java.lang.ExceptionInInitializerError
- * at
org.apache.logging.log4j.util.SystemPropertiesPropertySourceSecurityManagerTest.test(SystemPropertiesPropertySourceSecurityManagerTest.java:64)
- * ...
- * Caused by: java.lang.SecurityException
- * at
org.apache.logging.log4j.util.SystemPropertiesPropertySourceSecurityManagerTest$TestSecurityManager.checkPermission(SystemPropertiesPropertySourceSecurityManagerTest.java:49)
- * at
java.lang.SecurityManager.checkPropertiesAccess(SecurityManager.java:1265)
- * at java.lang.System.getProperties(System.java:624)
- * at
org.apache.logging.log4j.util.SystemPropertiesPropertySource.forEach(SystemPropertiesPropertySource.java:40)
- * at
org.apache.logging.log4j.util.PropertiesUtil$Environment.reload(PropertiesUtil.java:330)
- * at
org.apache.logging.log4j.util.PropertiesUtil$Environment.<init>(PropertiesUtil.java:322)
- * at
org.apache.logging.log4j.util.PropertiesUtil$Environment.<init>(PropertiesUtil.java:310)
- * at
org.apache.logging.log4j.util.PropertiesUtil.<init>(PropertiesUtil.java:69)
- * at
org.apache.logging.log4j.util.PropertiesUtil.<clinit>(PropertiesUtil.java:49)
- * ... 26 more
- * </pre>
- */
- @Test
- public void test() {
- var existing = System.getSecurityManager();
- try {
- System.setSecurityManager(new TestSecurityManager());
- final PropertiesUtil propertiesUtil = new
PropertiesUtil("src/test/resources/PropertiesUtilTest.properties");
-
assertThat(propertiesUtil.getStringProperty("a.1")).isNull();
- } finally {
- System.setSecurityManager(existing);
- }
- }
+ /**
+ * Makes sure we do not blow up with exception below due to a security
manager
+ * rejecting environment variable access in
+ * {@link SystemPropertiesPropertySource}.
+ *
+ * <pre>
+ * java.lang.ExceptionInInitializerError
+ * at
org.apache.logging.log4j.util.SystemPropertiesPropertySourceSecurityManagerTest.test(SystemPropertiesPropertySourceSecurityManagerTest.java:64)
+ * ...
+ * Caused by: java.lang.SecurityException
+ * at
org.apache.logging.log4j.util.SystemPropertiesPropertySourceSecurityManagerTest$TestSecurityManager.checkPermission(SystemPropertiesPropertySourceSecurityManagerTest.java:49)
+ * at
java.lang.SecurityManager.checkPropertiesAccess(SecurityManager.java:1265)
+ * at java.lang.System.getProperties(System.java:624)
+ * at
org.apache.logging.log4j.util.SystemPropertiesPropertySource.forEach(SystemPropertiesPropertySource.java:40)
+ * at
org.apache.logging.log4j.util.PropertiesUtil$Environment.reload(PropertiesUtil.java:330)
+ * at
org.apache.logging.log4j.util.PropertiesUtil$Environment.<init>(PropertiesUtil.java:322)
+ * at
org.apache.logging.log4j.util.PropertiesUtil$Environment.<init>(PropertiesUtil.java:310)
+ * at
org.apache.logging.log4j.util.PropertiesUtil.<init>(PropertiesUtil.java:69)
+ * at
org.apache.logging.log4j.util.PropertiesUtil.<clinit>(PropertiesUtil.java:49)
+ * ... 26 more
+ * </pre>
+ */
+ @Test
+ public void test() {
+ var existing = System.getSecurityManager();
+ try {
+ System.setSecurityManager(new TestSecurityManager());
+ final PropertiesUtil propertiesUtil = new
PropertiesUtil("src/test/resources/PropertiesUtilTest.properties");
+ assertThat(propertiesUtil.getStringProperty("a.1")).isNull();
+ } finally {
+ System.setSecurityManager(existing);
+ }
+ }
}
diff --git
a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceTest.java
b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceTest.java
index bd06806b8a..3b568d8726 100644
---
a/log4j-api-test/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceTest.java
+++
b/log4j-api-test/src/test/java/org/apache/logging/log4j/util/SystemPropertiesPropertySourceTest.java
@@ -14,19 +14,18 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.util;
-import org.junit.jupiter.api.Tag;
-import org.junit.jupiter.api.Test;
-import org.junitpioneer.jupiter.WritesSystemProperty;
-
import java.util.Properties;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
+import org.junit.jupiter.api.Tag;
+import org.junit.jupiter.api.Test;
+import org.junitpioneer.jupiter.WritesSystemProperty;
+
/**
* Tests <a
href="https://issues.apache.org/jira/browse/LOG4J2-2276">LOG4J2-2276</a>.
*/
@@ -38,15 +37,15 @@ public class SystemPropertiesPropertySourceTest {
/**
* Tests avoiding a ConcurrentModificationException. For example:
- *
+ *
* <pre>
* java.util.ConcurrentModificationException
* at java.util.Hashtable$Enumerator.next(Hashtable.java:1167)
* at
org.apache.logging.log4j.util.SystemPropertiesPropertySource.forEach(SystemPropertiesPropertySource.java:38)
* at
org.apache.logging.log4j.util.SystemPropertiesPropertySourceTest.testMultiThreadedAccess(SystemPropertiesPropertySourceTest.java:47)
* </pre>
- * @throws InterruptedException
- * @throws ExecutionException
+ * @throws InterruptedException
+ * @throws ExecutionException
*/
@Test
public void testMultiThreadedAccess() throws InterruptedException,
ExecutionException {
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
index 97af509a31..4ff32e9893 100644
---
a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
+++
b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
@@ -111,4 +111,3 @@ public class ReusableSimpleMessage implements
ReusableMessage, CharSequence, Par
charSequence = null;
}
}
-
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/message/StringMapMessage.java
b/log4j-api/src/main/java/org/apache/logging/log4j/message/StringMapMessage.java
index 9d05ce05b3..c175dd13de 100644
---
a/log4j-api/src/main/java/org/apache/logging/log4j/message/StringMapMessage.java
+++
b/log4j-api/src/main/java/org/apache/logging/log4j/message/StringMapMessage.java
@@ -14,7 +14,6 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.message;
import java.util.Map;
@@ -23,7 +22,7 @@ import org.apache.logging.log4j.util.PerformanceSensitive;
/**
* A {@link StringMapMessage} typed to {@link String}-only values. This is
like the MapMessage class before 2.9.
- *
+ *
* @since 2.9
*/
@PerformanceSensitive("allocation")
@@ -41,7 +40,7 @@ public class StringMapMessage extends
MapMessage<StringMapMessage, String> {
/**
* Constructs a new instance.
- *
+ *
* @param initialCapacity
* the initial capacity.
*/
@@ -51,7 +50,7 @@ public class StringMapMessage extends
MapMessage<StringMapMessage, String> {
/**
* Constructs a new instance based on an existing Map.
- *
+ *
* @param map
* The Map.
*/
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/message/StructuredDataMessage.java
b/log4j-api/src/main/java/org/apache/logging/log4j/message/StructuredDataMessage.java
index a2ba89a96a..7c5dbfcfda 100644
---
a/log4j-api/src/main/java/org/apache/logging/log4j/message/StructuredDataMessage.java
+++
b/log4j-api/src/main/java/org/apache/logging/log4j/message/StructuredDataMessage.java
@@ -14,7 +14,6 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.message;
import java.util.Map;
@@ -83,7 +82,7 @@ public class StructuredDataMessage extends
MapMessage<StructuredDataMessage, Str
this.type = type;
this.maxLength = maxLength;
}
-
+
/**
* Creates a StructuredDataMessage using an ID (max 32 characters),
message, type (max 32 characters), and an
* initial map of structured data to include.
@@ -464,7 +463,7 @@ public class StructuredDataMessage extends
MapMessage<StructuredDataMessage, Str
protected void validate(final String key, final char value) {
validateKey(key);
}
-
+
/**
* @since 2.9
*/
@@ -472,7 +471,7 @@ public class StructuredDataMessage extends
MapMessage<StructuredDataMessage, Str
protected void validate(final String key, final double value) {
validateKey(key);
}
-
+
/**
* @since 2.9
*/
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java
b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java
index 2434955c90..76b816e8c3 100644
---
a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java
+++
b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java
@@ -16,9 +16,6 @@
*/
package org.apache.logging.log4j.spi;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.util.LoaderUtil;
-
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -27,9 +24,12 @@ import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.util.LoaderUtil;
+
/**
* Provides an abstract base class to use for implementing LoggerAdapter.
- *
+ *
* @param <L> the Logger class to adapt
* @since 2.1
*/
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java
b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java
index 469610d7e8..9cd0fff546 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusData.java
@@ -43,7 +43,7 @@ public class StatusData implements Serializable {
/**
* Creates the StatusData object.
- *
+ *
* @param caller The method that created the event.
* @param level The logging level.
* @param msg The message String.
@@ -62,7 +62,7 @@ public class StatusData implements Serializable {
/**
* Returns the event's timestamp.
- *
+ *
* @return The event's timestamp.
*/
public long getTimestamp() {
@@ -71,7 +71,7 @@ public class StatusData implements Serializable {
/**
* Returns the StackTraceElement for the method that created the event.
- *
+ *
* @return The StackTraceElement.
*/
public StackTraceElement getStackTraceElement() {
@@ -80,7 +80,7 @@ public class StatusData implements Serializable {
/**
* Returns the logging level for the event.
- *
+ *
* @return The logging level.
*/
public Level getLevel() {
@@ -89,7 +89,7 @@ public class StatusData implements Serializable {
/**
* Returns the message associated with the event.
- *
+ *
* @return The message associated with the event.
*/
public Message getMessage() {
@@ -105,7 +105,7 @@ public class StatusData implements Serializable {
/**
* Returns the Throwable associated with the event.
- *
+ *
* @return The Throwable associated with the event.
*/
public Throwable getThrowable() {
@@ -114,7 +114,7 @@ public class StatusData implements Serializable {
/**
* Formats the StatusData for viewing.
- *
+ *
* @return The formatted status data as a String.
*/
public String getFormattedStatus() {
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/util/EnvironmentPropertySource.java
b/log4j-api/src/main/java/org/apache/logging/log4j/util/EnvironmentPropertySource.java
index 65ca8b694f..3fd116efe3 100644
---
a/log4j-api/src/main/java/org/apache/logging/log4j/util/EnvironmentPropertySource.java
+++
b/log4j-api/src/main/java/org/apache/logging/log4j/util/EnvironmentPropertySource.java
@@ -30,13 +30,13 @@ import java.util.Map;
*/
public class EnvironmentPropertySource implements PropertySource {
- private static final String PREFIX = "LOG4J_";
- private static final int DEFAULT_PRIORITY = 100;
+ private static final String PREFIX = "LOG4J_";
+ private static final int DEFAULT_PRIORITY = 100;
- @Override
- public int getPriority() {
- return DEFAULT_PRIORITY;
- }
+ @Override
+ public int getPriority() {
+ return DEFAULT_PRIORITY;
+ }
private void logException(SecurityException e) {
// There is no status logger yet.
@@ -44,36 +44,36 @@ public class EnvironmentPropertySource implements
PropertySource {
"The system environment variables are not available to Log4j
due to security restrictions: " + e, e);
}
- @Override
- public void forEach(final BiConsumer<String, String> action) {
- final Map<String, String> getenv;
- try {
- getenv = System.getenv();
- } catch (final SecurityException e) {
- logException(e);
- return;
- }
- for (final Map.Entry<String, String> entry : getenv.entrySet())
{
- final String key = entry.getKey();
- if (key.startsWith(PREFIX)) {
- action.accept(key.substring(PREFIX.length()),
entry.getValue());
- }
- }
- }
+ @Override
+ public void forEach(final BiConsumer<String, String> action) {
+ final Map<String, String> getenv;
+ try {
+ getenv = System.getenv();
+ } catch (final SecurityException e) {
+ logException(e);
+ return;
+ }
+ for (final Map.Entry<String, String> entry : getenv.entrySet()) {
+ final String key = entry.getKey();
+ if (key.startsWith(PREFIX)) {
+ action.accept(key.substring(PREFIX.length()),
entry.getValue());
+ }
+ }
+ }
- @Override
- public CharSequence getNormalForm(final Iterable<? extends
CharSequence> tokens) {
- final StringBuilder sb = new StringBuilder("LOG4J");
- boolean empty = true;
- for (final CharSequence token : tokens) {
- empty = false;
- sb.append('_');
- for (int i = 0; i < token.length(); i++) {
-
sb.append(Character.toUpperCase(token.charAt(i)));
- }
- }
- return empty ? null : sb.toString();
- }
+ @Override
+ public CharSequence getNormalForm(final Iterable<? extends CharSequence>
tokens) {
+ final StringBuilder sb = new StringBuilder("LOG4J");
+ boolean empty = true;
+ for (final CharSequence token : tokens) {
+ empty = false;
+ sb.append('_');
+ for (int i = 0; i < token.length(); i++) {
+ sb.append(Character.toUpperCase(token.charAt(i)));
+ }
+ }
+ return empty ? null : sb.toString();
+ }
@Override
public Collection<String> getPropertyNames() {
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/util/PerformanceSensitive.java
b/log4j-api/src/main/java/org/apache/logging/log4j/util/PerformanceSensitive.java
index 837347cf6f..3d7f1f16e2 100644
---
a/log4j-api/src/main/java/org/apache/logging/log4j/util/PerformanceSensitive.java
+++
b/log4j-api/src/main/java/org/apache/logging/log4j/util/PerformanceSensitive.java
@@ -14,7 +14,6 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.util;
import java.lang.annotation.Retention;
diff --git
a/log4j-cassandra/src/test/java/org/apache/logging/log4j/cassandra/CassandraExtension.java
b/log4j-cassandra/src/test/java/org/apache/logging/log4j/cassandra/CassandraExtension.java
index 38503c428a..4f17e12e95 100644
---
a/log4j-cassandra/src/test/java/org/apache/logging/log4j/cassandra/CassandraExtension.java
+++
b/log4j-cassandra/src/test/java/org/apache/logging/log4j/cassandra/CassandraExtension.java
@@ -14,11 +14,16 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.cassandra;
-import com.datastax.driver.core.Cluster;
-import com.datastax.driver.core.Session;
+import java.net.InetAddress;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.security.Permission;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ThreadFactory;
+import java.util.concurrent.atomic.AtomicReference;
+
import org.apache.cassandra.service.CassandraDaemon;
import org.apache.logging.log4j.core.util.Cancellable;
import org.apache.logging.log4j.core.util.Closer;
@@ -33,13 +38,8 @@ import
org.junit.jupiter.api.extension.ParameterResolutionException;
import org.junit.jupiter.api.extension.support.TypeBasedParameterResolver;
import org.opentest4j.TestAbortedException;
-import java.net.InetAddress;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.security.Permission;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.atomic.AtomicReference;
+import com.datastax.driver.core.Cluster;
+import com.datastax.driver.core.Session;
import static org.junit.jupiter.api.Assertions.fail;
diff --git
a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/CoreLoggerContexts.java
b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/CoreLoggerContexts.java
index a2b9456848..a44fa9d652 100644
---
a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/CoreLoggerContexts.java
+++
b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/CoreLoggerContexts.java
@@ -14,7 +14,6 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.core.test;
import java.io.File;
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/TlsSyslogAppenderTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/TlsSyslogAppenderTest.java
index 6f3afbc7c7..756d21d9b2 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/TlsSyslogAppenderTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/TlsSyslogAppenderTest.java
@@ -24,14 +24,14 @@ import javax.net.ssl.SSLServerSocketFactory;
import org.apache.logging.log4j.core.net.Facility;
import org.apache.logging.log4j.core.net.Protocol;
-import org.apache.logging.log4j.core.test.net.mock.MockSyslogServerFactory;
import org.apache.logging.log4j.core.net.ssl.KeyStoreConfiguration;
import org.apache.logging.log4j.core.net.ssl.SslConfiguration;
import org.apache.logging.log4j.core.net.ssl.StoreConfigurationException;
-import org.apache.logging.log4j.core.test.net.ssl.TestConstants;
-import org.apache.logging.log4j.core.test.net.ssl.TlsSyslogMessageFormat;
import org.apache.logging.log4j.core.net.ssl.TlsSyslogTestUtil;
import org.apache.logging.log4j.core.net.ssl.TrustStoreConfiguration;
+import org.apache.logging.log4j.core.test.net.mock.MockSyslogServerFactory;
+import org.apache.logging.log4j.core.test.net.ssl.TestConstants;
+import org.apache.logging.log4j.core.test.net.ssl.TlsSyslogMessageFormat;
import org.apache.logging.log4j.util.EnglishEnums;
import org.junit.Test;
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/perftest/ResponseTimeTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/perftest/ResponseTimeTest.java
index 2898f95ff6..16d5af1a6c 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/perftest/ResponseTimeTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/perftest/ResponseTimeTest.java
@@ -16,13 +16,6 @@
*/
package org.apache.logging.log4j.core.async.perftest;
-import org.HdrHistogram.Histogram;
-import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.core.async.DefaultAsyncQueueFullPolicy;
-import org.apache.logging.log4j.core.async.EventRoute;
-import org.apache.logging.log4j.core.util.Constants;
-import org.apache.logging.log4j.core.util.Loader;
-
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
@@ -32,6 +25,13 @@ import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
+import org.HdrHistogram.Histogram;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.core.async.DefaultAsyncQueueFullPolicy;
+import org.apache.logging.log4j.core.async.EventRoute;
+import org.apache.logging.log4j.core.util.Constants;
+import org.apache.logging.log4j.core.util.Loader;
+
import static org.apache.logging.log4j.util.Constants.isThreadLocalsEnabled;
/**
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationFactoryTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationFactoryTest.java
index e6de0db6a2..27370e28be 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationFactoryTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/net/ssl/SslConfigurationFactoryTest.java
@@ -16,15 +16,15 @@
*/
package org.apache.logging.log4j.core.net.ssl;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-
import java.util.Properties;
import org.apache.logging.log4j.core.test.net.ssl.TestConstants;
import org.apache.logging.log4j.util.PropertiesUtil;
import org.junit.jupiter.api.Test;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
public class SslConfigurationFactoryTest {
private static void addKeystoreConfiguration(Properties props) {
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/Filter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/Filter.java
index bd059be78c..104263d3e5 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/Filter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/Filter.java
@@ -14,7 +14,6 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.core;
import org.apache.logging.log4j.Level;
@@ -37,7 +36,7 @@ public interface Filter extends LifeCycle {
* Empty array.
*/
Filter[] EMPTY_ARRAY = {};
-
+
/**
* Main {@linkplain
org.apache.logging.log4j.plugins.Configurable#elementType() plugin element
type} for
* Filter plugins.
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContextSelector.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContextSelector.java
index ce3e7e4c51..80bc4ce46f 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContextSelector.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerContextSelector.java
@@ -16,6 +16,8 @@
*/
package org.apache.logging.log4j.core.async;
+import java.net.URI;
+
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.selector.ClassLoaderContextSelector;
import org.apache.logging.log4j.core.util.Constants;
@@ -24,8 +26,6 @@ import org.apache.logging.log4j.plugins.Singleton;
import org.apache.logging.log4j.plugins.di.Injector;
import org.apache.logging.log4j.util.PropertiesUtil;
-import java.net.URI;
-
/**
* {@code ContextSelector} that manages {@code AsyncLoggerContext} instances.
* <p>
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java
index 45e529efa1..6de190aa6d 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java
@@ -14,19 +14,19 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.core.async;
-import com.lmax.disruptor.ExceptionHandler;
-import com.lmax.disruptor.WaitStrategy;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Future;
+
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.util.Integers;
import org.apache.logging.log4j.core.util.Loader;
import org.apache.logging.log4j.status.StatusLogger;
import org.apache.logging.log4j.util.PropertiesUtil;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
+import com.lmax.disruptor.ExceptionHandler;
+import com.lmax.disruptor.WaitStrategy;
import static org.apache.logging.log4j.util.Constants.isThreadLocalsEnabled;
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
index 93c389c9ef..4d58ae5309 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
@@ -16,7 +16,9 @@
*/
package org.apache.logging.log4j.core.async;
-import com.lmax.disruptor.EventFactory;
+import java.io.IOException;
+import java.util.Arrays;
+
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.ThreadContext.ContextStack;
@@ -41,8 +43,7 @@ import org.apache.logging.log4j.util.StringBuilders;
import org.apache.logging.log4j.util.StringMap;
import org.apache.logging.log4j.util.Strings;
-import java.io.IOException;
-import java.util.Arrays;
+import com.lmax.disruptor.EventFactory;
import static org.apache.logging.log4j.util.Constants.isThreadLocalsEnabled;
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/ThreadNameCachingStrategy.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/ThreadNameCachingStrategy.java
index c686fbc6b5..c1aa2e67c8 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/ThreadNameCachingStrategy.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/ThreadNameCachingStrategy.java
@@ -1,86 +1,85 @@
-/*
- * 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.async;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.logging.log4j.status.StatusLogger;
-import org.apache.logging.log4j.util.Constants;
-import org.apache.logging.log4j.util.PropertiesUtil;
-
-/**
- * Strategy for deciding whether thread name should be cached or not.
- */
-public enum ThreadNameCachingStrategy { // LOG4J2-467
- CACHED {
- @Override
- public String getThreadName() {
- String result = THREADLOCAL_NAME.get();
- if (result == null) {
- result = Thread.currentThread().getName();
- THREADLOCAL_NAME.set(result);
- }
- return result;
- }
- },
- UNCACHED {
- @Override
- public String getThreadName() {
- return Thread.currentThread().getName();
- }
- };
-
- private static final StatusLogger LOGGER = StatusLogger.getLogger();
- private static final ThreadLocal<String> THREADLOCAL_NAME = new
ThreadLocal<>();
- static final ThreadNameCachingStrategy DEFAULT_STRATEGY =
isAllocatingThreadGetName() ? CACHED : UNCACHED;
-
- abstract String getThreadName();
-
- public static ThreadNameCachingStrategy create() {
- final String name =
PropertiesUtil.getProperties().getStringProperty("AsyncLogger.ThreadNameStrategy");
- try {
- final ThreadNameCachingStrategy result = name != null ?
ThreadNameCachingStrategy.valueOf(name) : DEFAULT_STRATEGY;
- LOGGER.debug("AsyncLogger.ThreadNameStrategy={} (user specified
{}, default is {})",
- result.name(), name, DEFAULT_STRATEGY.name());
- return result;
- } catch (final Exception ex) {
- LOGGER.debug("Using AsyncLogger.ThreadNameStrategy.{}: '{}' not
valid: {}",
- DEFAULT_STRATEGY.name(), name, ex.toString());
- return DEFAULT_STRATEGY;
- }
- }
-
- static boolean isAllocatingThreadGetName() {
- // LOG4J2-2052, LOG4J2-2635 JDK 8u102 ("1.8.0_102") removed the String
allocation in Thread.getName()
- if (Constants.JAVA_MAJOR_VERSION == 8) {
- try {
- final Pattern javaVersionPattern =
Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)_(\\d+)");
- final Matcher m =
javaVersionPattern.matcher(System.getProperty("java.version"));
- if (m.matches()) {
- return Integer.parseInt(m.group(3)) == 0 &&
Integer.parseInt(m.group(4)) < 102;
- }
- return true;
- } catch (final Exception e) {
- return true;
- }
- } else {
- return Constants.JAVA_MAJOR_VERSION < 8;
- }
- }
-}
+/*
+ * 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.async;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.apache.logging.log4j.status.StatusLogger;
+import org.apache.logging.log4j.util.Constants;
+import org.apache.logging.log4j.util.PropertiesUtil;
+
+/**
+ * Strategy for deciding whether thread name should be cached or not.
+ */
+public enum ThreadNameCachingStrategy { // LOG4J2-467
+ CACHED {
+ @Override
+ public String getThreadName() {
+ String result = THREADLOCAL_NAME.get();
+ if (result == null) {
+ result = Thread.currentThread().getName();
+ THREADLOCAL_NAME.set(result);
+ }
+ return result;
+ }
+ },
+ UNCACHED {
+ @Override
+ public String getThreadName() {
+ return Thread.currentThread().getName();
+ }
+ };
+
+ private static final StatusLogger LOGGER = StatusLogger.getLogger();
+ private static final ThreadLocal<String> THREADLOCAL_NAME = new
ThreadLocal<>();
+ static final ThreadNameCachingStrategy DEFAULT_STRATEGY =
isAllocatingThreadGetName() ? CACHED : UNCACHED;
+
+ abstract String getThreadName();
+
+ public static ThreadNameCachingStrategy create() {
+ final String name =
PropertiesUtil.getProperties().getStringProperty("AsyncLogger.ThreadNameStrategy");
+ try {
+ final ThreadNameCachingStrategy result = name != null ?
ThreadNameCachingStrategy.valueOf(name) : DEFAULT_STRATEGY;
+ LOGGER.debug("AsyncLogger.ThreadNameStrategy={} (user specified
{}, default is {})",
+ result.name(), name, DEFAULT_STRATEGY.name());
+ return result;
+ } catch (final Exception ex) {
+ LOGGER.debug("Using AsyncLogger.ThreadNameStrategy.{}: '{}' not
valid: {}",
+ DEFAULT_STRATEGY.name(), name, ex.toString());
+ return DEFAULT_STRATEGY;
+ }
+ }
+
+ static boolean isAllocatingThreadGetName() {
+ // LOG4J2-2052, LOG4J2-2635 JDK 8u102 ("1.8.0_102") removed the String
allocation in Thread.getName()
+ if (Constants.JAVA_MAJOR_VERSION == 8) {
+ try {
+ final Pattern javaVersionPattern =
Pattern.compile("(\\d+)\\.(\\d+)\\.(\\d+)_(\\d+)");
+ final Matcher m =
javaVersionPattern.matcher(System.getProperty("java.version"));
+ if (m.matches()) {
+ return Integer.parseInt(m.group(3)) == 0 &&
Integer.parseInt(m.group(4)) < 102;
+ }
+ return true;
+ } catch (final Exception e) {
+ return true;
+ }
+ } else {
+ return Constants.JAVA_MAJOR_VERSION < 8;
+ }
+ }
+}
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java
index 66680f197c..cc8b2752c7 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java
@@ -14,20 +14,8 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.core.config;
-import org.apache.logging.log4j.core.net.ssl.LaxHostnameVerifier;
-import org.apache.logging.log4j.core.net.ssl.SslConfiguration;
-import org.apache.logging.log4j.core.net.ssl.SslConfigurationFactory;
-import org.apache.logging.log4j.core.util.AuthorizationProvider;
-import org.apache.logging.log4j.core.util.FileUtils;
-import org.apache.logging.log4j.core.util.Loader;
-import org.apache.logging.log4j.core.util.Source;
-import org.apache.logging.log4j.util.LoaderUtil;
-import org.apache.logging.log4j.util.PropertiesUtil;
-
-import javax.net.ssl.HttpsURLConnection;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
@@ -42,6 +30,17 @@ import java.net.URLConnection;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Objects;
+import javax.net.ssl.HttpsURLConnection;
+
+import org.apache.logging.log4j.core.net.ssl.LaxHostnameVerifier;
+import org.apache.logging.log4j.core.net.ssl.SslConfiguration;
+import org.apache.logging.log4j.core.net.ssl.SslConfigurationFactory;
+import org.apache.logging.log4j.core.util.AuthorizationProvider;
+import org.apache.logging.log4j.core.util.FileUtils;
+import org.apache.logging.log4j.core.util.Loader;
+import org.apache.logging.log4j.core.util.Source;
+import org.apache.logging.log4j.util.LoaderUtil;
+import org.apache.logging.log4j.util.PropertiesUtil;
/**
* Represents the source for the logging configuration.
@@ -178,15 +177,15 @@ public class ConfigurationSource {
private boolean isFile() {
return source == null ? false : source.getFile() != null;
}
-
+
private boolean isURL() {
return source == null ? false : source.getURI() != null;
}
-
+
private boolean isLocation() {
return source == null ? false : source.getLocation() != null;
}
-
+
/**
* Returns the configuration source URL, or {@code null} if this
configuration source is based on a file or has
* neither a file nor an URL.
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/HttpWatcher.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/HttpWatcher.java
index e5301ed0a0..7d29dd4f6f 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/HttpWatcher.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/HttpWatcher.java
@@ -16,6 +16,12 @@
*/
package org.apache.logging.log4j.core.config;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.util.List;
+
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.net.ssl.SslConfiguration;
import org.apache.logging.log4j.core.net.ssl.SslConfigurationFactory;
@@ -31,12 +37,6 @@ import org.apache.logging.log4j.plugins.PluginAliases;
import org.apache.logging.log4j.status.StatusLogger;
import org.apache.logging.log4j.util.PropertiesUtil;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.List;
-
/**
*
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.java
index 542cd759fb..019c6f2313 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.java
@@ -14,7 +14,6 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.core.config;
import org.apache.logging.log4j.core.util.Loader;
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/CoreTypeConverters.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/CoreTypeConverters.java
index 34cf35d007..7be995ca9f 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/CoreTypeConverters.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/CoreTypeConverters.java
@@ -14,17 +14,8 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.core.config.plugins.convert;
-import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.core.appender.rolling.action.Duration;
-import org.apache.logging.log4j.core.util.CronExpression;
-import org.apache.logging.log4j.plugins.Plugin;
-import org.apache.logging.log4j.plugins.convert.TypeConverter;
-import org.apache.logging.log4j.plugins.convert.TypeConverters;
-import org.apache.logging.log4j.util.LoaderUtil;
-
import java.io.File;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -43,6 +34,14 @@ import java.util.Base64;
import java.util.UUID;
import java.util.regex.Pattern;
+import org.apache.logging.log4j.Level;
+import org.apache.logging.log4j.core.appender.rolling.action.Duration;
+import org.apache.logging.log4j.core.util.CronExpression;
+import org.apache.logging.log4j.plugins.Plugin;
+import org.apache.logging.log4j.plugins.convert.TypeConverter;
+import org.apache.logging.log4j.plugins.convert.TypeConverters;
+import org.apache.logging.log4j.util.LoaderUtil;
+
/**
* General {@link TypeConverter} implementations.
*
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/CompositeFilter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/CompositeFilter.java
index 7b49827ba3..254c911553 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/CompositeFilter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/CompositeFilter.java
@@ -16,6 +16,12 @@
*/
package org.apache.logging.log4j.core.filter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.core.AbstractLifeCycle;
@@ -31,12 +37,6 @@ import org.apache.logging.log4j.plugins.PluginElement;
import org.apache.logging.log4j.plugins.PluginFactory;
import org.apache.logging.log4j.util.PerformanceSensitive;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
/**
* Composes and invokes one or more filters.
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java
index e2266f84d9..7d7bf2f0f6 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/MutableThreadContextMapFilter.java
@@ -16,8 +16,16 @@
*/
package org.apache.logging.log4j.core.filter;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.TimeUnit;
+
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.core.Filter;
@@ -44,15 +52,8 @@ import org.apache.logging.log4j.plugins.PluginFactory;
import org.apache.logging.log4j.util.PerformanceSensitive;
import org.apache.logging.log4j.util.PropertiesUtil;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.TimeUnit;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
/**
* Filter based on a value in the Thread Context Map (MDC).
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java
index 4f18b0d001..e978dbc65c 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/StructuredDataFilter.java
@@ -16,6 +16,11 @@
*/
package org.apache.logging.log4j.core.filter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.core.Filter;
@@ -33,11 +38,6 @@ import
org.apache.logging.log4j.util.IndexedReadOnlyStringMap;
import org.apache.logging.log4j.util.PerformanceSensitive;
import org.apache.logging.log4j.util.StringBuilders;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
/**
* Filter based on data in a StructuredDataMessage.
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java
index 28a74abee2..3791980695 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java
@@ -16,6 +16,13 @@
*/
package org.apache.logging.log4j.core.filter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Supplier;
+
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.core.ContextDataInjector;
@@ -39,13 +46,6 @@ import org.apache.logging.log4j.util.PerformanceSensitive;
import org.apache.logging.log4j.util.ReadOnlyStringMap;
import org.apache.logging.log4j.util.StringMap;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Supplier;
-
/**
* Filter based on a value in the Thread Context Map (MDC).
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/TimeFilter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/TimeFilter.java
index ebc9f06c79..c321724abc 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/TimeFilter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/TimeFilter.java
@@ -16,6 +16,15 @@
*/
package org.apache.logging.log4j.core.filter;
+import java.time.Duration;
+import java.time.Instant;
+import java.time.LocalDate;
+import java.time.LocalTime;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.function.Supplier;
+
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.core.Filter;
@@ -31,15 +40,6 @@ import org.apache.logging.log4j.plugins.PluginAttribute;
import org.apache.logging.log4j.plugins.PluginFactory;
import org.apache.logging.log4j.util.PerformanceSensitive;
-import java.time.Duration;
-import java.time.Instant;
-import java.time.LocalDate;
-import java.time.LocalTime;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.function.Supplier;
-
/**
* Filters events that fall within a specified time period in each day.
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/DefaultCallback.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/DefaultCallback.java
index 410e74b24a..df5912ca12 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/DefaultCallback.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/DefaultCallback.java
@@ -14,7 +14,6 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.core.impl;
import org.apache.logging.log4j.core.util.Loader;
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java
index 573cb12225..0ddf5047a3 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/Log4jContextFactory.java
@@ -16,6 +16,12 @@
*/
package org.apache.logging.log4j.core.impl;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
import org.apache.logging.log4j.core.LifeCycle;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.AbstractConfiguration;
@@ -36,12 +42,6 @@ import org.apache.logging.log4j.spi.LoggerContextFactory;
import org.apache.logging.log4j.status.StatusLogger;
import org.apache.logging.log4j.util.PropertiesUtil;
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-
import static org.apache.logging.log4j.util.Constants.isWebApp;
/**
@@ -245,7 +245,7 @@ public class Log4jContextFactory implements
LoggerContextFactory, ShutdownCallba
ctx.setExternalContext(externalContext);
}
if (name != null) {
- ctx.setName(name);
+ ctx.setName(name);
}
if (ctx.getState() == LifeCycle.State.INITIALIZED) {
if (configLocation != null || name != null) {
@@ -360,15 +360,15 @@ public class Log4jContextFactory implements
LoggerContextFactory, ShutdownCallba
return selector;
}
- /**
- * Returns the ShutdownCallbackRegistry
- *
- * @return the ShutdownCallbackRegistry
- * @since 2.4
- */
- public ShutdownCallbackRegistry getShutdownCallbackRegistry() {
- return shutdownCallbackRegistry;
- }
+ /**
+ * Returns the ShutdownCallbackRegistry
+ *
+ * @return the ShutdownCallbackRegistry
+ * @since 2.4
+ */
+ public ShutdownCallbackRegistry getShutdownCallbackRegistry() {
+ return shutdownCallbackRegistry;
+ }
/**
* Removes knowledge of a LoggerContext.
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 f3add96827..0c75ea03ba 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
@@ -16,6 +16,20 @@
*/
package org.apache.logging.log4j.core.jmx;
+import java.lang.management.ManagementFactory;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.Executor;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import javax.management.InstanceAlreadyExistsException;
+import javax.management.InstanceNotFoundException;
+import javax.management.MBeanRegistrationException;
+import javax.management.MBeanServer;
+import javax.management.NotCompliantMBeanException;
+import javax.management.ObjectName;
+
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.LoggerContext;
@@ -31,20 +45,6 @@ import org.apache.logging.log4j.status.StatusLogger;
import org.apache.logging.log4j.util.Constants;
import org.apache.logging.log4j.util.PropertiesUtil;
-import javax.management.InstanceAlreadyExistsException;
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanRegistrationException;
-import javax.management.MBeanServer;
-import javax.management.NotCompliantMBeanException;
-import javax.management.ObjectName;
-import java.lang.management.ManagementFactory;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.Executor;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
/**
* Creates MBeans to instrument various classes in the log4j class hierarchy.
* <p>
@@ -54,7 +54,7 @@ import java.util.concurrent.Executors;
public final class Server {
private static final String CONTEXT_NAME_ALL = "*";
- /**
+ /**
* The domain part, or prefix ({@value}) of the {@code ObjectName} of all
MBeans that instrument Log4J2 components.
*/
public static final String DOMAIN = "org.apache.logging.log4j2";
@@ -168,8 +168,8 @@ public final class Server {
if (ctx instanceof AsyncLoggerContext) {
final RingBufferAdmin rbmbean = ((AsyncLoggerContext)
ctx).createRingBufferAdmin();
if (rbmbean.getBufferSize() > 0) {
- // don't register if Disruptor not started
(DefaultConfiguration: config not found)
- register(mbs, rbmbean, rbmbean.getObjectName());
+ // don't register if Disruptor not started
(DefaultConfiguration: config not found)
+ register(mbs, rbmbean, rbmbean.getObjectName());
}
}
@@ -205,18 +205,18 @@ public final class Server {
*
* @param mbs the MBean server to unregister from.
*/
- public static void unregisterMBeans(final MBeanServer mbs) {
- if (mbs != null) {
- unregisterStatusLogger(CONTEXT_NAME_ALL, mbs);
- unregisterContextSelector(CONTEXT_NAME_ALL, mbs);
- unregisterContexts(mbs);
- unregisterLoggerConfigs(CONTEXT_NAME_ALL, mbs);
- unregisterAsyncLoggerRingBufferAdmins(CONTEXT_NAME_ALL,
mbs);
-
unregisterAsyncLoggerConfigRingBufferAdmins(CONTEXT_NAME_ALL, mbs);
- unregisterAppenders(CONTEXT_NAME_ALL, mbs);
- unregisterAsyncAppenders(CONTEXT_NAME_ALL, mbs);
- }
- }
+ public static void unregisterMBeans(final MBeanServer mbs) {
+ if (mbs != null) {
+ unregisterStatusLogger(CONTEXT_NAME_ALL, mbs);
+ unregisterContextSelector(CONTEXT_NAME_ALL, mbs);
+ unregisterContexts(mbs);
+ unregisterLoggerConfigs(CONTEXT_NAME_ALL, mbs);
+ unregisterAsyncLoggerRingBufferAdmins(CONTEXT_NAME_ALL, mbs);
+ unregisterAsyncLoggerConfigRingBufferAdmins(CONTEXT_NAME_ALL, mbs);
+ unregisterAppenders(CONTEXT_NAME_ALL, mbs);
+ unregisterAsyncAppenders(CONTEXT_NAME_ALL, mbs);
+ }
+ }
/**
* Returns the {@code ContextSelector} of the current {@code
Log4jContextFactory}.
@@ -333,15 +333,15 @@ public final class Server {
final ObjectName pattern = new ObjectName(search);
final Set<ObjectName> found = mbs.queryNames(pattern, null);
if (found == null || found.isEmpty()) {
- LOGGER.trace("Unregistering but no MBeans found matching '{}'",
search);
+ LOGGER.trace("Unregistering but no MBeans found matching
'{}'", search);
} else {
- LOGGER.trace("Unregistering {} MBeans: {}", found.size(),
found);
+ LOGGER.trace("Unregistering {} MBeans: {}", found.size(),
found);
+ }
+ if (found != null) {
+ for (final ObjectName objectName : found) {
+ mbs.unregisterMBean(objectName);
+ }
}
- if (found != null) {
- for (final ObjectName objectName : found) {
- mbs.unregisterMBean(objectName);
- }
- }
} catch (final InstanceNotFoundException ex) {
LOGGER.debug("Could not unregister MBeans for " + search + ".
Ignoring " + ex);
} catch (final Exception ex) {
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java
index f6cf978cc3..fb481233b6 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java
@@ -16,6 +16,16 @@
*/
package org.apache.logging.log4j.core.layout;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
import org.apache.logging.log4j.core.Layout;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.net.Facility;
@@ -27,16 +37,6 @@ import
org.apache.logging.log4j.plugins.PluginBuilderAttribute;
import org.apache.logging.log4j.plugins.PluginFactory;
import org.apache.logging.log4j.util.Chars;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
/**
* Formats a log event as a BSD Log record.
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/MulticastDnsAdvertiser.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/MulticastDnsAdvertiser.java
index 3b145233d0..440dd3c34d 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/MulticastDnsAdvertiser.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/MulticastDnsAdvertiser.java
@@ -16,6 +16,12 @@
*/
package org.apache.logging.log4j.core.net;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.util.Integers;
import org.apache.logging.log4j.plugins.Configurable;
@@ -23,12 +29,6 @@ import org.apache.logging.log4j.plugins.Plugin;
import org.apache.logging.log4j.status.StatusLogger;
import org.apache.logging.log4j.util.LoaderUtil;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Map;
-
/**
* Advertise an entity via ZeroConf/MulticastDNS and the JmDNS library.
*
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/osgi/BundleContextSelector.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/osgi/BundleContextSelector.java
index 165f3106a4..718c0bf6fc 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/osgi/BundleContextSelector.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/osgi/BundleContextSelector.java
@@ -16,6 +16,12 @@
*/
package org.apache.logging.log4j.core.osgi;
+import java.lang.ref.WeakReference;
+import java.net.URI;
+import java.util.Objects;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicReference;
+
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.impl.ContextAnchor;
import org.apache.logging.log4j.core.selector.ClassLoaderContextSelector;
@@ -27,12 +33,6 @@ import org.osgi.framework.Bundle;
import org.osgi.framework.BundleReference;
import org.osgi.framework.FrameworkUtil;
-import java.lang.ref.WeakReference;
-import java.net.URI;
-import java.util.Objects;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicReference;
-
/**
* ContextSelector for OSGi bundles. This ContextSelector works rather
similarly to the
* {@link ClassLoaderContextSelector}, but instead of each ClassLoader having
its own LoggerContext (like in a
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractStyleNameConverter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractStyleNameConverter.java
index d9911a6389..350daf8b08 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractStyleNameConverter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/AbstractStyleNameConverter.java
@@ -16,6 +16,11 @@
*/
package org.apache.logging.log4j.core.pattern;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.util.Arrays;
+import java.util.List;
+
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.layout.PatternLayout;
@@ -23,11 +28,6 @@ import org.apache.logging.log4j.plugins.Namespace;
import org.apache.logging.log4j.plugins.Plugin;
import org.apache.logging.log4j.util.PerformanceSensitive;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.Arrays;
-import java.util.List;
-
/**
* Style pattern converter. Adds ANSI color styling to the result of the
enclosed pattern.
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java
index cb52abf37c..6612452133 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/DatePatternConverter.java
@@ -16,6 +16,13 @@
*/
package org.apache.logging.log4j.core.pattern;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.Locale;
+import java.util.Objects;
+import java.util.TimeZone;
+import java.util.concurrent.atomic.AtomicReference;
+
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.time.Instant;
import org.apache.logging.log4j.core.time.MutableInstant;
@@ -26,13 +33,6 @@ import org.apache.logging.log4j.plugins.Namespace;
import org.apache.logging.log4j.plugins.Plugin;
import org.apache.logging.log4j.util.PerformanceSensitive;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.Locale;
-import java.util.Objects;
-import java.util.TimeZone;
-import java.util.concurrent.atomic.AtomicReference;
-
import static org.apache.logging.log4j.util.Constants.isThreadLocalsEnabled;
/**
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverter.java
index f140e5a911..0723e22d3e 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EncodingPatternConverter.java
@@ -16,6 +16,8 @@
*/
package org.apache.logging.log4j.core.pattern;
+import java.util.List;
+
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.layout.PatternLayout;
@@ -25,8 +27,6 @@ import org.apache.logging.log4j.util.EnglishEnums;
import org.apache.logging.log4j.util.PerformanceSensitive;
import org.apache.logging.log4j.util.StringBuilders;
-import java.util.List;
-
/**
* Converter that encodes the output from a pattern using a specified format.
Supported formats include HTML
* (default) and JSON.
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsIgnoreCaseReplacementConverter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsIgnoreCaseReplacementConverter.java
index 404c5625e2..5e36512a84 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsIgnoreCaseReplacementConverter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsIgnoreCaseReplacementConverter.java
@@ -16,6 +16,8 @@
*/
package org.apache.logging.log4j.core.pattern;
+import java.util.List;
+
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.layout.PatternLayout;
import org.apache.logging.log4j.plugins.Namespace;
@@ -23,8 +25,6 @@ import org.apache.logging.log4j.plugins.Plugin;
import org.apache.logging.log4j.util.PerformanceSensitive;
import org.apache.logging.log4j.util.StringBuilders;
-import java.util.List;
-
/**
* Equals ignore case pattern converter.
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsReplacementConverter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsReplacementConverter.java
index 7603af9d43..2cb8225423 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsReplacementConverter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/EqualsReplacementConverter.java
@@ -16,6 +16,8 @@
*/
package org.apache.logging.log4j.core.pattern;
+import java.util.List;
+
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.layout.PatternLayout;
import org.apache.logging.log4j.plugins.Namespace;
@@ -23,8 +25,6 @@ import org.apache.logging.log4j.plugins.Plugin;
import org.apache.logging.log4j.util.PerformanceSensitive;
import org.apache.logging.log4j.util.StringBuilders;
-import java.util.List;
-
/**
* Equals pattern converter.
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FormattingInfo.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FormattingInfo.java
index fa2019f369..73d9c08f81 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FormattingInfo.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/FormattingInfo.java
@@ -14,7 +14,6 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.core.pattern;
import org.apache.logging.log4j.util.PerformanceSensitive;
@@ -131,8 +130,8 @@ public final class FormattingInfo {
* @return true if left truncated.
*/
public boolean isLeftTruncate() {
- return leftTruncate;
- }
+ return leftTruncate;
+ }
/**
* Determine if zero-padded.
@@ -173,11 +172,11 @@ public final class FormattingInfo {
final int rawLength = buffer.length() - fieldStart;
if (rawLength > maxLength) {
- if (leftTruncate) {
- buffer.delete(fieldStart, buffer.length() -
maxLength);
- } else {
- buffer.delete(fieldStart + maxLength,
fieldStart + buffer.length());
- }
+ if (leftTruncate) {
+ buffer.delete(fieldStart, buffer.length() - maxLength);
+ } else {
+ buffer.delete(fieldStart + maxLength, fieldStart +
buffer.length());
+ }
} else if (rawLength < minLength) {
if (leftAlign) {
final int fieldEnd = buffer.length();
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/IntegerPatternConverter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/IntegerPatternConverter.java
index 48631d279c..1684706da9 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/IntegerPatternConverter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/IntegerPatternConverter.java
@@ -16,12 +16,12 @@
*/
package org.apache.logging.log4j.core.pattern;
+import java.util.Date;
+
import org.apache.logging.log4j.plugins.Namespace;
import org.apache.logging.log4j.plugins.Plugin;
import org.apache.logging.log4j.util.PerformanceSensitive;
-import java.util.Date;
-
/**
* Formats an integer.
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LevelPatternConverter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LevelPatternConverter.java
index 7b9dc8ba57..2a1046c6ac 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LevelPatternConverter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/LevelPatternConverter.java
@@ -16,6 +16,10 @@
*/
package org.apache.logging.log4j.core.pattern;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.util.Patterns;
@@ -23,10 +27,6 @@ import org.apache.logging.log4j.plugins.Namespace;
import org.apache.logging.log4j.plugins.Plugin;
import org.apache.logging.log4j.util.PerformanceSensitive;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-
/**
* Returns the event's level in a StringBuilder.
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MaxLengthConverter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MaxLengthConverter.java
index c97775c237..3d65c70078 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MaxLengthConverter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MaxLengthConverter.java
@@ -14,9 +14,10 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.core.pattern;
+import java.util.List;
+
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.appender.AbstractAppender;
import org.apache.logging.log4j.core.config.Configuration;
@@ -25,8 +26,6 @@ import org.apache.logging.log4j.plugins.Namespace;
import org.apache.logging.log4j.plugins.Plugin;
import org.apache.logging.log4j.util.PerformanceSensitive;
-import java.util.List;
-
/**
* Max length pattern converter. Limit contained text to a maximum length.
* On invalid length the default value 100 is used (and an error message is
logged).
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
index 2db77bd5fa..9b50bc2f52 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/SequenceNumberPatternConverter.java
@@ -16,13 +16,13 @@
*/
package org.apache.logging.log4j.core.pattern;
+import java.util.concurrent.atomic.AtomicLong;
+
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.plugins.Namespace;
import org.apache.logging.log4j.plugins.Plugin;
import org.apache.logging.log4j.util.PerformanceSensitive;
-import java.util.concurrent.atomic.AtomicLong;
-
/**
* Formats the event sequence number.
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/StyleConverter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/StyleConverter.java
index 1b11e7d42d..e102f7306a 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/StyleConverter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/StyleConverter.java
@@ -16,6 +16,9 @@
*/
package org.apache.logging.log4j.core.pattern;
+import java.util.Arrays;
+import java.util.List;
+
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.layout.PatternLayout;
@@ -24,9 +27,6 @@ import org.apache.logging.log4j.plugins.Namespace;
import org.apache.logging.log4j.plugins.Plugin;
import org.apache.logging.log4j.util.PerformanceSensitive;
-import java.util.Arrays;
-import java.util.List;
-
/**
* Style pattern converter. Adds ANSI color styling to the result of the
enclosed pattern.
*
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/VariablesNotEmptyReplacementConverter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/VariablesNotEmptyReplacementConverter.java
index 5016bb39c1..c513ff5cd0 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/VariablesNotEmptyReplacementConverter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/VariablesNotEmptyReplacementConverter.java
@@ -16,6 +16,8 @@
*/
package org.apache.logging.log4j.core.pattern;
+import java.util.List;
+
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.layout.PatternLayout;
@@ -23,8 +25,6 @@ import org.apache.logging.log4j.plugins.Namespace;
import org.apache.logging.log4j.plugins.Plugin;
import org.apache.logging.log4j.util.PerformanceSensitive;
-import java.util.List;
-
/**
* VariablesNotEmpty pattern converter.
*/
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/UuidUtil.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/UuidUtil.java
index cf83095bc8..62564f39da 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/UuidUtil.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/UuidUtil.java
@@ -148,4 +148,3 @@ public final class UuidUtil {
return new UUID(most, LEAST);
}
}
-
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 b98120292f..97e37b5c04 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
@@ -16,16 +16,6 @@
*/
package org.apache.logging.log4j.gctests;
-import com.google.monitoring.runtime.instrumentation.AllocationRecorder;
-import com.google.monitoring.runtime.instrumentation.Sampler;
-import org.apache.logging.log4j.Level;
-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.util.Constants;
-import org.apache.logging.log4j.message.StringMapMessage;
-
import java.io.File;
import java.net.URL;
import java.nio.charset.Charset;
@@ -36,6 +26,17 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.regex.Pattern;
+import org.apache.logging.log4j.Level;
+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.util.Constants;
+import org.apache.logging.log4j.message.StringMapMessage;
+
+import com.google.monitoring.runtime.instrumentation.AllocationRecorder;
+import com.google.monitoring.runtime.instrumentation.Sampler;
+
import static java.lang.System.getProperty;
import static org.apache.logging.log4j.util.Constants.isThreadLocalsEnabled;
import static org.apache.logging.log4j.util.Constants.isWebApp;
diff --git
a/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/converter/ThrowableAttributeConverter.java
b/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/converter/ThrowableAttributeConverter.java
index 0a3b876836..43e639fd4c 100644
---
a/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/converter/ThrowableAttributeConverter.java
+++
b/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/converter/ThrowableAttributeConverter.java
@@ -22,7 +22,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.ListIterator;
-
import javax.persistence.AttributeConverter;
import javax.persistence.Converter;
diff --git
a/log4j-jul/src/main/java/org/apache/logging/log4j/jul/LevelTranslator.java
b/log4j-jul/src/main/java/org/apache/logging/log4j/jul/LevelTranslator.java
index 328e1e56ca..bd02d7583e 100644
--- a/log4j-jul/src/main/java/org/apache/logging/log4j/jul/LevelTranslator.java
+++ b/log4j-jul/src/main/java/org/apache/logging/log4j/jul/LevelTranslator.java
@@ -14,7 +14,6 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.jul;
import org.apache.logging.log4j.Level;
diff --git
a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactories.java
b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactories.java
index 382c40ae26..2b4d236758 100644
---
a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactories.java
+++
b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactories.java
@@ -16,9 +16,6 @@
*/
package org.apache.logging.log4j.layout.template.json.util;
-import org.apache.logging.log4j.util.LoaderUtil;
-import org.jctools.queues.MpmcArrayQueue;
-
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.Arrays;
@@ -28,6 +25,9 @@ import java.util.Queue;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.function.Supplier;
+import org.apache.logging.log4j.util.LoaderUtil;
+import org.jctools.queues.MpmcArrayQueue;
+
import static org.apache.logging.log4j.util.Constants.isThreadLocalsEnabled;
public final class RecyclerFactories {
diff --git
a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/Uris.java
b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/Uris.java
index c78335039b..eeaa56d1f8 100644
---
a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/Uris.java
+++
b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/Uris.java
@@ -16,10 +16,6 @@
*/
package org.apache.logging.log4j.layout.template.json.util;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.status.StatusLogger;
-import org.apache.logging.log4j.util.LoaderUtil;
-
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
@@ -34,6 +30,10 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.status.StatusLogger;
+import org.apache.logging.log4j.util.LoaderUtil;
+
public final class Uris {
private Uris() {}
diff --git
a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/StringBuilderEscapeBenchmark.java
b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/StringBuilderEscapeBenchmark.java
index 865f925021..f49e180013 100644
---
a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/StringBuilderEscapeBenchmark.java
+++
b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/StringBuilderEscapeBenchmark.java
@@ -14,9 +14,10 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.perf.jmh;
+import java.util.concurrent.TimeUnit;
+
import org.apache.logging.log4j.util.StringBuilders;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
@@ -25,8 +26,6 @@ import org.openjdk.jmh.annotations.OutputTimeUnit;
import org.openjdk.jmh.annotations.Scope;
import org.openjdk.jmh.annotations.State;
-import java.util.concurrent.TimeUnit;
-
/**
* This benchmark tests encoding implementations.
*/
diff --git
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/condition/OnPropertyCondition.java
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/condition/OnPropertyCondition.java
index 9c145b071b..bb1e093689 100644
---
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/condition/OnPropertyCondition.java
+++
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/condition/OnPropertyCondition.java
@@ -14,9 +14,10 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.plugins.condition;
+import java.lang.reflect.AnnotatedElement;
+
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.plugins.Singleton;
import org.apache.logging.log4j.plugins.di.Key;
@@ -24,8 +25,6 @@ import org.apache.logging.log4j.plugins.util.AnnotationUtil;
import org.apache.logging.log4j.status.StatusLogger;
import org.apache.logging.log4j.util.PropertiesUtil;
-import java.lang.reflect.AnnotatedElement;
-
@Singleton
public class OnPropertyCondition implements Condition {
private static final Logger LOGGER = StatusLogger.getLogger();
diff --git
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/util/ResolverUtil.java
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/util/ResolverUtil.java
index 802cce355e..4fb20d6912 100644
---
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/util/ResolverUtil.java
+++
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/util/ResolverUtil.java
@@ -16,12 +16,6 @@
*/
package org.apache.logging.log4j.plugins.util;
-import org.apache.logging.log4j.Logger;
-import org.apache.logging.log4j.util.LoaderUtil;
-import org.apache.logging.log4j.status.StatusLogger;
-import org.osgi.framework.FrameworkUtil;
-import org.osgi.framework.wiring.BundleWiring;
-
import java.io.*;
import java.net.JarURLConnection;
import java.net.URI;
@@ -34,6 +28,12 @@ import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.JarInputStream;
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.status.StatusLogger;
+import org.apache.logging.log4j.util.LoaderUtil;
+import org.osgi.framework.FrameworkUtil;
+import org.osgi.framework.wiring.BundleWiring;
+
/**
* <p>
* ResolverUtil is used to locate classes that are available in the/a class
path and meet arbitrary conditions. The two
diff --git
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/visit/PluginBuilderAttributeVisitor.java
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/visit/PluginBuilderAttributeVisitor.java
index 9e32d6a8a4..706adb56dd 100644
---
a/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/visit/PluginBuilderAttributeVisitor.java
+++
b/log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/visit/PluginBuilderAttributeVisitor.java
@@ -14,9 +14,15 @@
* See the license for the specific language governing permissions and
* limitations under the license.
*/
-
package org.apache.logging.log4j.plugins.visit;
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Field;
+import java.lang.reflect.Parameter;
+import java.lang.reflect.Type;
+import java.util.Collection;
+import java.util.function.Function;
+
import org.apache.logging.log4j.plugins.Inject;
import org.apache.logging.log4j.plugins.Named;
import org.apache.logging.log4j.plugins.Node;
@@ -26,13 +32,6 @@ import org.apache.logging.log4j.plugins.di.Injector;
import org.apache.logging.log4j.plugins.di.Keys;
import org.apache.logging.log4j.util.StringBuilders;
-import java.lang.reflect.AnnotatedElement;
-import java.lang.reflect.Field;
-import java.lang.reflect.Parameter;
-import java.lang.reflect.Type;
-import java.util.Collection;
-import java.util.function.Function;
-
public class PluginBuilderAttributeVisitor implements NodeVisitor {
private final Function<String, String> stringSubstitutionStrategy;
private final Injector injector;
diff --git
a/log4j-script/src/main/java/org/apache/logging/log4j/script/ScriptManagerImpl.java
b/log4j-script/src/main/java/org/apache/logging/log4j/script/ScriptManagerImpl.java
index 53ef67548a..99c357fa61 100644
---
a/log4j-script/src/main/java/org/apache/logging/log4j/script/ScriptManagerImpl.java
+++
b/log4j-script/src/main/java/org/apache/logging/log4j/script/ScriptManagerImpl.java
@@ -28,7 +28,6 @@ import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.stream.Collectors;
-
import javax.script.Bindings;
import javax.script.Compilable;
import javax.script.CompiledScript;
diff --git
a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLoggerFactory.java
b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLoggerFactory.java
index f1733013b9..cf9b002aa9 100644
---
a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLoggerFactory.java
+++
b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLoggerFactory.java
@@ -16,6 +16,8 @@
*/
package org.apache.logging.slf4j;
+import java.util.function.Predicate;
+
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.LoggingException;
import org.apache.logging.log4j.spi.AbstractLoggerAdapter;
@@ -25,8 +27,6 @@ import org.apache.logging.log4j.util.StackLocatorUtil;
import org.slf4j.ILoggerFactory;
import org.slf4j.Logger;
-import java.util.function.Predicate;
-
/**
* Log4j implementation of SLF4J ILoggerFactory interface.
*/
diff --git
a/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLoggerContextFactory.java
b/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLoggerContextFactory.java
index 7de053a7bd..5b267238a4 100644
---
a/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLoggerContextFactory.java
+++
b/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLoggerContextFactory.java
@@ -1,69 +1,69 @@
-/*
- * 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.slf4j;
-
-import java.net.URI;
-
-import org.apache.logging.log4j.spi.LoggerContext;
-import org.apache.logging.log4j.spi.LoggerContextFactory;
-import org.apache.logging.log4j.status.StatusLogger;
-import org.apache.logging.log4j.util.LoaderUtil;
-
-/**
- *
- */
-public class SLF4JLoggerContextFactory implements LoggerContextFactory {
- private static final StatusLogger LOGGER = StatusLogger.getLogger();
- private static final LoggerContext context = new SLF4JLoggerContext();
-
- public SLF4JLoggerContextFactory() {
- // LOG4J2-230, LOG4J2-204 (improve error reporting when misconfigured)
- boolean misconfigured = false;
- try {
- LoaderUtil.loadClass("org.slf4j.helpers.Log4jLoggerFactory");
- misconfigured = true;
- } catch (final ClassNotFoundException classNotFoundIsGood) {
- LOGGER.debug("org.slf4j.helpers.Log4jLoggerFactory is not on
classpath. Good!");
- }
- if (misconfigured) {
- throw new IllegalStateException("slf4j-impl jar is mutually
exclusive with log4j-to-slf4j jar "
- + "(the first routes calls from SLF4J to Log4j, the second
from Log4j to SLF4J)");
- }
- }
-
- @Override
- public LoggerContext getContext(final String fqcn, final ClassLoader
loader, final Object externalContext,
- final boolean currentContext) {
- return context;
- }
-
- @Override
- public LoggerContext getContext(final String fqcn, final ClassLoader
loader, final Object externalContext,
- final boolean currentContext, final URI
configLocation, final String name) {
- return context;
- }
-
- @Override
- public void removeContext(final LoggerContext ignored) {
- }
-
- @Override
- public boolean isClassLoaderDependent() {
- // context is always used
- return false;
- }
-}
+/*
+ * 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.slf4j;
+
+import java.net.URI;
+
+import org.apache.logging.log4j.spi.LoggerContext;
+import org.apache.logging.log4j.spi.LoggerContextFactory;
+import org.apache.logging.log4j.status.StatusLogger;
+import org.apache.logging.log4j.util.LoaderUtil;
+
+/**
+ *
+ */
+public class SLF4JLoggerContextFactory implements LoggerContextFactory {
+ private static final StatusLogger LOGGER = StatusLogger.getLogger();
+ private static final LoggerContext context = new SLF4JLoggerContext();
+
+ public SLF4JLoggerContextFactory() {
+ // LOG4J2-230, LOG4J2-204 (improve error reporting when misconfigured)
+ boolean misconfigured = false;
+ try {
+ LoaderUtil.loadClass("org.slf4j.helpers.Log4jLoggerFactory");
+ misconfigured = true;
+ } catch (final ClassNotFoundException classNotFoundIsGood) {
+ LOGGER.debug("org.slf4j.helpers.Log4jLoggerFactory is not on
classpath. Good!");
+ }
+ if (misconfigured) {
+ throw new IllegalStateException("slf4j-impl jar is mutually
exclusive with log4j-to-slf4j jar "
+ + "(the first routes calls from SLF4J to Log4j, the second
from Log4j to SLF4J)");
+ }
+ }
+
+ @Override
+ public LoggerContext getContext(final String fqcn, final ClassLoader
loader, final Object externalContext,
+ final boolean currentContext) {
+ return context;
+ }
+
+ @Override
+ public LoggerContext getContext(final String fqcn, final ClassLoader
loader, final Object externalContext,
+ final boolean currentContext, final URI
configLocation, final String name) {
+ return context;
+ }
+
+ @Override
+ public void removeContext(final LoggerContext ignored) {
+ }
+
+ @Override
+ public boolean isClassLoaderDependent() {
+ // context is always used
+ return false;
+ }
+}