This is an automated email from the ASF dual-hosted git repository.
mattsicker pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/main by this push:
new a42332d0bc Remove deprecated code
a42332d0bc is described below
commit a42332d0bc48996c2bb70286541269eb20d58024
Author: Matt Sicker <[email protected]>
AuthorDate: Fri Nov 10 17:29:27 2023 -0600
Remove deprecated code
Signed-off-by: Matt Sicker <[email protected]>
---
.../src/main/java/org/apache/log4j/LogManager.java | 26 +----
.../junit/LogManagerLoggerContextFactoryRule.java | 52 ---------
.../logging/log4j/test/junit/StatusLoggerRule.java | 51 ---------
.../log4j/test/junit/ThreadContextMapRule.java | 40 -------
.../apache/logging/log4j/spi/AbstractLogger.java | 2 +-
.../org/apache/logging/log4j/util/Constants.java | 12 ---
.../logging/log4j/cassandra/CassandraAppender.java | 2 +-
.../logging/log4j/cassandra/CassandraManager.java | 17 +--
.../test/junit/URLStreamHandlerFactoryRule.java | 100 ------------------
.../core/appender/MemoryMappedFileManagerTest.java | 4 +-
.../appender/db/AbstractDatabaseAppenderTest.java | 2 +-
.../appender/db/AbstractDatabaseManagerTest.java | 2 +-
.../log4j/core/config/CustomConfigurationTest.java | 10 +-
.../log4j/core/config/JiraLog4j2_2134Test.java | 20 +++-
.../log4j/core/config/LoggerConfigTest.java | 9 +-
.../core/filter/ThreadContextMapFilterTest.java | 18 +++-
.../log4j/core/layout/PatternSelectorTest.java | 19 ++--
.../log4j/core/appender/AbstractAppender.java | 29 -----
.../core/appender/MemoryMappedFileAppender.java | 8 +-
.../core/appender/MemoryMappedFileManager.java | 39 +++----
.../log4j/core/appender/OutputStreamManager.java | 18 +---
.../core/appender/RandomAccessFileManager.java | 19 ----
.../log4j/core/appender/SyslogAppender.java | 8 --
.../core/appender/db/AbstractDatabaseManager.java | 37 -------
.../core/appender/nosql/NoSqlDatabaseManager.java | 14 ---
.../rolling/RollingRandomAccessFileManager.java | 19 ----
.../appender/rolling/action/GzCompressAction.java | 27 -----
.../appender/rolling/action/IfLastModified.java | 12 ---
.../log4j/core/async/AsyncLoggerConfig.java | 82 ---------------
.../log4j/core/async/RingBufferLogEvent.java | 2 +-
.../log4j/core/config/AbstractConfiguration.java | 28 -----
.../logging/log4j/core/config/LoggerConfig.java | 44 +-------
.../log4j/core/filter/DynamicThresholdFilter.java | 24 -----
.../log4j/core/filter/ThreadContextMapFilter.java | 16 +--
.../logging/log4j/core/filter/TimeFilter.java | 27 -----
.../log4j/core/impl/ThreadContextDataInjector.java | 9 --
.../log4j/core/layout/AbstractStringLayout.java | 4 +-
.../core/layout/ByteBufferDestinationHelper.java | 61 -----------
.../log4j/core/layout/LevelPatternSelector.java | 58 ++--------
.../log4j/core/layout/TextEncoderHelper.java | 27 -----
.../org/apache/logging/log4j/core/util/Source.java | 12 ---
.../logging/log4j/core/util/StringEncoder.java | 117 ---------------------
.../logging/log4j/core/util/WatchManager.java | 19 ----
.../log4j/gctests/GcFreeLoggingTestUtil.java | 2 +-
.../logging/log4j/smtp/appender/SmtpManager.java | 12 ---
.../appender/PoolingDriverConnectionSource.java | 12 ---
.../logging/log4j/jdbc/appender/JdbcAppender.java | 2 +-
.../log4j/jdbc/appender/JdbcDatabaseManager.java | 16 +--
.../logging/log4j/jpa/appender/JpaAppender.java | 6 +-
.../log4j/jpa/appender/JpaDatabaseManager.java | 17 +--
.../log4j/jpa/appender/JpaHsqldbAppenderTest.java | 16 +--
.../layout/template/json/JsonTemplateLayout.java | 6 +-
.../logging/log4j/smtp/appender/SmtpManager.java | 15 +--
.../java/org/apache/logging/slf4j/SLF4JLogger.java | 2 +-
.../log4j/web/ServletRequestThreadContext.java | 46 --------
55 files changed, 156 insertions(+), 1142 deletions(-)
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 db5a8af4af..4561c4b14b 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
@@ -36,31 +36,7 @@ import org.apache.logging.log4j.util.StackLocatorUtil;
*/
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 final String DEFAULT_CONFIGURATION_FILE = "log4j.properties";
static private RepositorySelector repositorySelector;
diff --git
a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/LogManagerLoggerContextFactoryRule.java
b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/LogManagerLoggerContextFactoryRule.java
deleted file mode 100644
index c11f476748..0000000000
---
a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/LogManagerLoggerContextFactoryRule.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * 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.test.junit;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.spi.LoggerContextFactory;
-import org.junit.rules.ExternalResource;
-
-/**
- * Sets the {@link LogManager}'s {@link LoggerContextFactory} to the given
instance before the test and restores it to
- * the original value after the test.
- *
- * @deprecated Use {@link LoggerContextFactoryExtension} with JUnit 5
- */
-@Deprecated
-public class LogManagerLoggerContextFactoryRule extends ExternalResource {
-
- private final LoggerContextFactory loggerContextFactory;
-
- private LoggerContextFactory restoreLoggerContextFactory;
-
- public LogManagerLoggerContextFactoryRule(final LoggerContextFactory
loggerContextFactory) {
- super();
- this.loggerContextFactory = loggerContextFactory;
- }
-
- @Override
- protected void after() {
- LogManager.setFactory(this.restoreLoggerContextFactory);
- }
-
- @Override
- protected void before() throws Throwable {
- this.restoreLoggerContextFactory = LogManager.getFactory();
- LogManager.setFactory(this.loggerContextFactory);
- }
-
-}
diff --git
a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/StatusLoggerRule.java
b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/StatusLoggerRule.java
deleted file mode 100644
index 2e808adca1..0000000000
---
a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/StatusLoggerRule.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * 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.test.junit;
-
-import org.apache.logging.log4j.Level;
-import org.apache.logging.log4j.status.StatusLogger;
-import org.junit.rules.ExternalResource;
-
-/**
- * JUnit rule to set a particular StatusLogger level. This rule is useful for
debugging unit tests that do not use a
- * Log4j configuration file.
- *
- * @since 2.8
- * @deprecated Use {@link StatusLoggerLevel} with JUnit 5
- */
-@Deprecated
-public class StatusLoggerRule extends ExternalResource {
-
- private final StatusLogger statusLogger = StatusLogger.getLogger();
- private final Level level;
- private Level oldLevel;
-
- public StatusLoggerRule(final Level level) {
- this.level = level;
- }
-
- @Override
- protected void before() throws Throwable {
- oldLevel = statusLogger.getLevel();
- statusLogger.setLevel(level);
- }
-
- @Override
- protected void after() {
- statusLogger.setLevel(oldLevel);
- }
-}
diff --git
a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/ThreadContextMapRule.java
b/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/ThreadContextMapRule.java
deleted file mode 100644
index 94986a26e6..0000000000
---
a/log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/ThreadContextMapRule.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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.test.junit;
-
-/**
- * Restores the ThreadContext to it's initial map values after a JUnit test.
- *
- * Usage:
- *
- * <pre>
- * @Rule
- * public final ThreadContextMapRule threadContextRule = new
ThreadContextMapRule();
- * </pre>
- *
- * @deprecated use {@link UsingThreadContextMap} with JUnit 5
- */
-@Deprecated
-public class ThreadContextMapRule extends ThreadContextRule {
-
- /**
- * Constructs an initialized instance.
- */
- public ThreadContextMapRule() {
- super(true, false);
- }
-}
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
index 7f270f3b64..fd1b975c24 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
@@ -2763,7 +2763,7 @@ public abstract class AbstractLogger implements
ExtendedLogger {
* @since 2.20.0
*/
protected LogBuilder getLogBuilder(final Level level) {
- if (Constants.ENABLE_THREADLOCALS) {
+ if (Constants.isThreadLocalsEnabled()) {
final DefaultLogBuilder builder = logBuilder.get();
if (!builder.isInUse()) {
return builder.reset(this, level);
diff --git
a/log4j-api/src/main/java/org/apache/logging/log4j/util/Constants.java
b/log4j-api/src/main/java/org/apache/logging/log4j/util/Constants.java
index d399d64fc6..9c8b7b07da 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/Constants.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/Constants.java
@@ -48,12 +48,6 @@ public final class Constants {
isWebApp.reset();
}
- /**
- * @deprecated use {@link #isWebApp()}
- */
- @Deprecated(since = "3.0.0", forRemoval = true)
- public static final boolean IS_WEB_APP = isWebApp();
-
private static final LazyBoolean threadLocalsEnabled = new LazyBoolean(
() -> !isWebApp() &&
PropertiesUtil.getProperties().getBooleanProperty(LoggingSystemProperty.THREAD_LOCALS_ENABLE,
true));
@@ -76,12 +70,6 @@ public final class Constants {
threadLocalsEnabled.reset();
}
- /**
- * @deprecated use {@link #isThreadLocalsEnabled()}
- */
- @Deprecated(since = "3.0.0", forRemoval = true)
- public static final boolean ENABLE_THREADLOCALS = isThreadLocalsEnabled();
-
public static final int JAVA_MAJOR_VERSION = getMajorVersion();
/**
diff --git
a/log4j-cassandra/src/main/java/org/apache/logging/log4j/cassandra/CassandraAppender.java
b/log4j-cassandra/src/main/java/org/apache/logging/log4j/cassandra/CassandraAppender.java
index bb0d92baf0..548c70b53f 100644
---
a/log4j-cassandra/src/main/java/org/apache/logging/log4j/cassandra/CassandraAppender.java
+++
b/log4j-cassandra/src/main/java/org/apache/logging/log4j/cassandra/CassandraAppender.java
@@ -178,7 +178,7 @@ public class CassandraAppender extends
AbstractDatabaseAppender<CassandraManager
public CassandraAppender build() {
final CassandraManager manager =
CassandraManager.getManager(getName(), contactPoints, columns, useTls,
clusterName, keyspace, table, username, password,
useClockForTimestampGenerator, bufferSize, batched,
- batchType);
+ batchType, getConfiguration());
return new CassandraAppender(getName(), getFilter(),
isIgnoreExceptions(), getPropertyArray(), manager);
}
diff --git
a/log4j-cassandra/src/main/java/org/apache/logging/log4j/cassandra/CassandraManager.java
b/log4j-cassandra/src/main/java/org/apache/logging/log4j/cassandra/CassandraManager.java
index 358969f6e2..b812d5ef1b 100644
---
a/log4j-cassandra/src/main/java/org/apache/logging/log4j/cassandra/CassandraManager.java
+++
b/log4j-cassandra/src/main/java/org/apache/logging/log4j/cassandra/CassandraManager.java
@@ -30,6 +30,7 @@ import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.appender.ManagerFactory;
import org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager;
import org.apache.logging.log4j.core.appender.db.ColumnMapping;
+import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.net.SocketAddress;
import org.apache.logging.log4j.jdbc.convert.DateTypeConverter;
import org.apache.logging.log4j.spi.ThreadContextMap;
@@ -57,8 +58,9 @@ public class CassandraManager extends AbstractDatabaseManager
{
private CassandraManager(final String name, final int bufferSize, final
Cluster cluster,
final String keyspace, final String
insertQueryTemplate,
- final List<ColumnMapping> columnMappings, final
BatchStatement batchStatement) {
- super(name, bufferSize);
+ final List<ColumnMapping> columnMappings, final
BatchStatement batchStatement,
+ final Configuration configuration) {
+ super(name, bufferSize, null, configuration);
this.cluster = cluster;
this.keyspace = keyspace;
this.insertQueryTemplate = insertQueryTemplate;
@@ -121,10 +123,11 @@ public class CassandraManager extends
AbstractDatabaseManager {
final String clusterName, final
String keyspace, final String table,
final String username, final
String password,
final boolean
useClockForTimestampGenerator, final int bufferSize,
- final boolean batched, final
BatchStatement.Type batchType) {
+ final boolean batched, final
BatchStatement.Type batchType,
+ final Configuration
configuration) {
return getManager(name,
new FactoryData(contactPoints, columns, useTls, clusterName,
keyspace, table, username, password,
- useClockForTimestampGenerator, bufferSize, batched,
batchType), CassandraManagerFactory.INSTANCE);
+ useClockForTimestampGenerator, bufferSize, batched, batchType,
configuration), CassandraManagerFactory.INSTANCE);
}
private static class CassandraManagerFactory implements
ManagerFactory<CassandraManager, FactoryData> {
@@ -167,7 +170,7 @@ public class CassandraManager extends
AbstractDatabaseManager {
final String insertQueryTemplate = sb.toString();
LOGGER.debug("Using CQL for appender {}: {}", name,
insertQueryTemplate);
return new CassandraManager(name, data.getBufferSize(), cluster,
data.keyspace, insertQueryTemplate,
- columnMappings, data.batched ? new
BatchStatement(data.batchType) : null);
+ columnMappings, data.batched ? new
BatchStatement(data.batchType) : null, data.getConfiguration());
}
}
@@ -187,8 +190,8 @@ public class CassandraManager extends
AbstractDatabaseManager {
private FactoryData(final SocketAddress[] contactPoints, final
ColumnMapping[] columns, final boolean useTls,
final String clusterName, final String keyspace,
final String table, final String username,
final String password, final boolean
useClockForTimestampGenerator, final int bufferSize,
- final boolean batched, final BatchStatement.Type
batchType) {
- super(bufferSize, null);
+ final boolean batched, final BatchStatement.Type
batchType, final Configuration configuration) {
+ super(configuration, bufferSize, null);
this.contactPoints = convertAndAddDefaultPorts(contactPoints);
this.columns = columns;
this.useTls = useTls;
diff --git
a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/URLStreamHandlerFactoryRule.java
b/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/URLStreamHandlerFactoryRule.java
deleted file mode 100644
index 61cc2d5b7e..0000000000
---
a/log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/URLStreamHandlerFactoryRule.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * 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.test.junit;
-
-import java.lang.reflect.Field;
-import java.net.URL;
-import java.net.URLStreamHandler;
-import java.net.URLStreamHandlerFactory;
-import java.util.Hashtable;
-
-import org.junit.Assert;
-import org.junit.rules.TestRule;
-import org.junit.runner.Description;
-import org.junit.runners.model.Statement;
-
-/**
- * Installs and restores the URL URLStreamHandlerFactory before and after
tests.
- * <p>
- * Might need tweaking for different JREs.
- * </p>
- * <p>
- * Will be remove in version 3.x.
- * </p>
- */
-@Deprecated
-public class URLStreamHandlerFactoryRule implements TestRule {
-
- public URLStreamHandlerFactoryRule() {
- this(null);
- }
-
- public URLStreamHandlerFactoryRule(final URLStreamHandlerFactory
newURLStreamHandlerFactory) {
- this.newURLStreamHandlerFactory = newURLStreamHandlerFactory;
- }
-
- private final URLStreamHandlerFactory newURLStreamHandlerFactory;
-
- void clearURLHandlers() throws Exception {
- final Field handlersFields = URL.class.getDeclaredField("handlers");
- if (handlersFields != null) {
- if (!handlersFields.isAccessible()) {
- handlersFields.setAccessible(true);
- }
- @SuppressWarnings("unchecked")
- final
- Hashtable<String, URLStreamHandler> handlers = (Hashtable<String,
URLStreamHandler>) handlersFields
- .get(null);
- if (handlers != null) {
- handlers.clear();
- }
- }
- }
-
- @Override
- public Statement apply(final Statement base, final Description
description) {
- return new Statement() {
- @Override
- public void evaluate() throws Throwable {
- Field factoryField = null;
- int matches = 0;
- URLStreamHandlerFactory oldFactory = null;
- for (final Field field : URL.class.getDeclaredFields()) {
- if (URLStreamHandlerFactory.class.equals(field.getType()))
{
- factoryField = field;
- matches++;
- factoryField.setAccessible(true);
- oldFactory = (URLStreamHandlerFactory)
factoryField.get(null);
- break;
- }
- }
- Assert.assertNotNull("java.net URL does not declare a
java.net.URLStreamHandlerFactory field",
- factoryField);
- Assert.assertEquals("java.net.URL declares multiple
java.net.URLStreamHandlerFactory fields.", 1,
- matches); // FIXME There is a break in the loop so
always 0 or 1
- URL.setURLStreamHandlerFactory(newURLStreamHandlerFactory);
- try {
- base.evaluate();
- } finally {
- clearURLHandlers();
- factoryField.set(null, null);
- URL.setURLStreamHandlerFactory(oldFactory);
- }
- }
- };
- }
-}
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManagerTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManagerTest.java
index 57feb1ed95..175a700fe2 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManagerTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManagerTest.java
@@ -45,7 +45,7 @@ public class MemoryMappedFileManagerTest {
final boolean append = false;
final boolean immediateFlush = false;
try (final MemoryMappedFileManager manager =
MemoryMappedFileManager.getFileManager(file.getAbsolutePath(),
- append, immediateFlush, mapSize, null, null)) {
+ append, immediateFlush, mapSize, null, null, null)) {
byte[] msg;
for (int i = 0; i < 1000; i++) {
msg = ("Message " + i + "\n").getBytes();
@@ -80,7 +80,7 @@ public class MemoryMappedFileManagerTest {
final boolean isAppend = true;
final boolean immediateFlush = false;
try (final MemoryMappedFileManager manager =
MemoryMappedFileManager.getFileManager(file.getAbsolutePath(),
- isAppend, immediateFlush,
MemoryMappedFileManager.DEFAULT_REGION_LENGTH, null, null)) {
+ isAppend, immediateFlush,
MemoryMappedFileManager.DEFAULT_REGION_LENGTH, null, null, null)) {
manager.writeBytes(new byte[initialLength], 0, initialLength);
}
final int expected = initialLength * 2;
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppenderTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppenderTest.java
index 8cea4dd554..ca97ada8fd 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppenderTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppenderTest.java
@@ -46,7 +46,7 @@ public class AbstractDatabaseAppenderTest {
}
private static abstract class LocalAbstractDatabaseManager extends
AbstractDatabaseManager {
public LocalAbstractDatabaseManager(final String name, final int
bufferSize) {
- super(name, bufferSize);
+ super(name, bufferSize, null, null);
}
}
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManagerTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManagerTest.java
index f5b2cf9acb..e9fe158dfb 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManagerTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManagerTest.java
@@ -36,7 +36,7 @@ public class AbstractDatabaseManagerTest {
private static class StubDatabaseManager extends AbstractDatabaseManager {
protected StubDatabaseManager(final String name, final int bufferSize)
{
- super(name, bufferSize);
+ super(name, bufferSize, null, null);
}
@Override
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java
index 5701fd0466..81b73cdbc6 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/CustomConfigurationTest.java
@@ -76,8 +76,14 @@ public class CustomConfigurationTest {
final AppenderRef ref = AppenderRef.createAppenderRef("File", null,
null);
final AppenderRef[] refs = new AppenderRef[]{ref};
- final LoggerConfig loggerConfig = LoggerConfig.createLogger(false,
Level.INFO, "org.apache.logging.log4j",
- "true", refs, null, config, null);
+ final LoggerConfig loggerConfig = LoggerConfig.newBuilder()
+ .setAdditivity(false)
+ .setLevel(Level.INFO)
+ .setLoggerName("org.apache.logging.log4j")
+ .setIncludeLocation("true")
+ .setRefs(refs)
+ .setConfig(config)
+ .build();
loggerConfig.addAppender(appender, null, null);
config.addLogger("org.apache.logging.log4j", loggerConfig);
ctx.updateLoggers();
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/JiraLog4j2_2134Test.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/JiraLog4j2_2134Test.java
index c5eefc7cd9..5b78706d56 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/JiraLog4j2_2134Test.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/JiraLog4j2_2134Test.java
@@ -50,8 +50,14 @@ public class JiraLog4j2_2134Test {
config.addAppender(appender);
final AppenderRef ref = AppenderRef.createAppenderRef("File", null,
null);
final AppenderRef[] refs = new AppenderRef[]{ref};
- final LoggerConfig loggerConfig = LoggerConfig.createLogger(false,
Level.INFO, "testlog4j2refresh", "true", refs,
- null, config, null);
+ final LoggerConfig loggerConfig = LoggerConfig.newBuilder()
+ .setAdditivity(false)
+ .setLevel(Level.INFO)
+ .setLoggerName("testlog4j2refresh")
+ .setIncludeLocation("true")
+ .setRefs(refs)
+ .setConfig(config)
+ .build();
loggerConfig.addAppender(appender, null, null);
config.addLogger("testlog4j2refresh", loggerConfig);
ctx.stop();
@@ -127,8 +133,14 @@ public class JiraLog4j2_2134Test {
config.addAppender(appender);
final AppenderRef ref = AppenderRef.createAppenderRef("File", null,
null);
final AppenderRef[] refs = new AppenderRef[]{ref};
- final LoggerConfig loggerConfig = LoggerConfig.createLogger(false,
Level.INFO, "testlog4j2refresh", "true", refs,
- null, config, null);
+ final LoggerConfig loggerConfig = LoggerConfig.newBuilder()
+ .setAdditivity(false)
+ .setLevel(Level.INFO)
+ .setLoggerName("testlog4j2refresh")
+ .setIncludeLocation("true")
+ .setRefs(refs)
+ .setConfig(config)
+ .build();
loggerConfig.addAppender(appender, null, null);
config.addLogger("testlog4j2refresh", loggerConfig);
ctx.stop();
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/LoggerConfigTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/LoggerConfigTest.java
index 644fd6fa49..867e28bd24 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/LoggerConfigTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/LoggerConfigTest.java
@@ -44,11 +44,14 @@ public class LoggerConfigTest {
private static final String FQCN = LoggerConfigTest.class.getName();
private static LoggerConfig createForProperties(final Property[]
properties) {
- return LoggerConfig.createLogger(true, Level.INFO, "name", "false",
new AppenderRef[0], properties,
- new NullConfiguration(), null);
+ return LoggerConfig.newBuilder()
+ .setLevel(Level.INFO)
+ .setLoggerName("name")
+ .setProperties(properties)
+ .setConfig(new NullConfiguration())
+ .build();
}
- @SuppressWarnings({"deprecation"})
@Test
public void testPropertiesWithoutSubstitution() {
assertNull(createForProperties(null).getPropertyList(), "null
propertiesList");
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilterTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilterTest.java
index cb0311dc3f..83e50ae207 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilterTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/filter/ThreadContextMapFilterTest.java
@@ -22,7 +22,9 @@ import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.util.KeyValuePair;
import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertSame;
+import static org.junit.jupiter.api.Assertions.assertTrue;
public class ThreadContextMapFilterTest {
@@ -32,7 +34,10 @@ public class ThreadContextMapFilterTest {
ThreadContext.put("organization", "Apache");
final KeyValuePair[] pairs = new KeyValuePair[] { new
KeyValuePair("userid", "JohnDoe"),
new
KeyValuePair("organization", "Apache")};
- ThreadContextMapFilter filter =
ThreadContextMapFilter.createFilter(pairs, "and", null, null);
+ ThreadContextMapFilter filter = ThreadContextMapFilter.newBuilder()
+ .setPairs(pairs)
+ .setOperator("and")
+ .get();
assertNotNull(filter);
filter.start();
assertTrue(filter.isStarted());
@@ -44,7 +49,10 @@ public class ThreadContextMapFilterTest {
ThreadContext.put("organization", "ASF");
assertSame(Filter.Result.DENY, filter.filter(null, Level.DEBUG, null,
(Object) null, (Throwable) null));
ThreadContext.clearMap();
- filter = ThreadContextMapFilter.createFilter(pairs, "or", null, null);
+ filter = ThreadContextMapFilter.newBuilder()
+ .setPairs(pairs)
+ .setOperator("or")
+ .get();
assertNotNull(filter);
filter.start();
assertTrue(filter.isStarted());
@@ -56,7 +64,9 @@ public class ThreadContextMapFilterTest {
ThreadContext.remove("organization");
assertSame(Filter.Result.DENY, filter.filter(null, Level.DEBUG, null,
(Object) null, (Throwable) null));
final KeyValuePair[] single = new KeyValuePair[] {new
KeyValuePair("userid", "testuser")};
- filter = ThreadContextMapFilter.createFilter(single, null, null, null);
+ filter = ThreadContextMapFilter.newBuilder()
+ .setPairs(single)
+ .get();
assertNotNull(filter);
filter.start();
assertTrue(filter.isStarted());
diff --git
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/PatternSelectorTest.java
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/PatternSelectorTest.java
index 847565221e..ba62a041e3 100644
---
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/PatternSelectorTest.java
+++
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/PatternSelectorTest.java
@@ -25,7 +25,7 @@ import org.apache.logging.log4j.core.impl.Log4jLogEvent;
import org.apache.logging.log4j.message.SimpleMessage;
import org.junit.jupiter.api.Test;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.assertj.core.api.Assertions.assertThat;
public class PatternSelectorTest {
@@ -60,21 +60,26 @@ public class PatternSelectorTest {
.setMessage(new SimpleMessage("entry")).build();
final String result1 = new FauxLogger().formatEvent(event1, layout);
final String expectSuffix1 = String.format("======
PatternSelectorTest.testMarkerPatternSelector:61 entry ======%n");
- assertTrue(result1.endsWith(expectSuffix1), "Unexpected result: " +
result1);
+ assertThat(result1).endsWith(expectSuffix1);
final LogEvent event2 = Log4jLogEvent.newBuilder() //
.setLoggerName(this.getClass().getName()).setLoggerFqcn("org.apache.logging.log4j.core.Logger")
//
.setLevel(Level.INFO) //
.setMessage(new SimpleMessage("Hello, world 1!")).build();
final String result2 = new String(layout.toByteArray(event2));
final String expectSuffix2 = String.format("Hello, world 1!%n");
- assertTrue(result2.endsWith(expectSuffix2), "Unexpected result: " +
result2);
+ assertThat(result2).endsWith(expectSuffix2);
}
@Test
public void testLevelPatternSelector() throws Exception {
final PatternMatch[] patterns = new PatternMatch[1];
patterns[0] = new PatternMatch("TRACE", "%d %-5p [%t]: ======
%C{1}.%M:%L %m ======%n");
- final PatternSelector selector =
LevelPatternSelector.createSelector(patterns, "%d %-5p [%t]: %m%n", true, true,
ctx.getConfiguration());
+ final LevelPatternSelector selector = LevelPatternSelector.newBuilder()
+ .setConfiguration(ctx.getConfiguration())
+ .setDefaultPattern("%d %-5p [%t]: %m%n")
+ .setDisableAnsi(true)
+ .setProperties(patterns)
+ .build();
final PatternLayout layout =
PatternLayout.newBuilder().setPatternSelector(selector)
.setConfiguration(ctx.getConfiguration()).build();
final LogEvent event1 = Log4jLogEvent.newBuilder() //
@@ -83,14 +88,14 @@ public class PatternSelectorTest {
.setIncludeLocation(true)
.setMessage(new SimpleMessage("entry")).build();
final String result1 = new FauxLogger().formatEvent(event1, layout);
- final String expectSuffix1 = String.format("======
PatternSelectorTest.testLevelPatternSelector:85 entry ======%n");
- assertTrue(result1.endsWith(expectSuffix1), "Unexpected result: " +
result1);
+ final String expectSuffix1 = String.format("======
PatternSelectorTest.testLevelPatternSelector:90 entry ======%n");
+ assertThat(result1).endsWith(expectSuffix1);
final LogEvent event2 = Log4jLogEvent.newBuilder() //
.setLoggerName(this.getClass().getName()).setLoggerFqcn("org.apache.logging.log4j.core.Logger")
//
.setLevel(Level.INFO) //
.setMessage(new SimpleMessage("Hello, world 1!")).build();
final String result2 = new String(layout.toByteArray(event2));
final String expectSuffix2 = String.format("Hello, world 1!%n");
- assertTrue(result2.endsWith(expectSuffix2), "Unexpected result: " +
result2);
+ assertThat(result2).endsWith(expectSuffix2);
}
}
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java
index c30f0176b1..7628aa6e42 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractAppender.java
@@ -131,35 +131,6 @@ public abstract class AbstractAppender extends
AbstractFilterable implements App
this.ignoreExceptions = ignoreExceptions;
}
- /**
- * Constructor that defaults to suppressing exceptions.
- *
- * @param name The Appender name.
- * @param filter The Filter to associate with the Appender.
- * @param layout The layout to use to format the event.
- * @deprecated Use {@link #AbstractAppender(String, Filter, Layout,
boolean, Property[])}.
- */
- @Deprecated
- protected AbstractAppender(final String name, final Filter filter, final
Layout layout) {
- this(name, filter, layout, true, Property.EMPTY_ARRAY);
- }
-
- /**
- * Constructor.
- *
- * @param name The Appender name.
- * @param filter The Filter to associate with the Appender.
- * @param layout The layout to use to format the event.
- * @param ignoreExceptions If true, exceptions will be logged and
suppressed. If false errors will be logged and
- * then passed to the application.
- * @deprecated Use {@link #AbstractAppender(String, Filter, Layout,
boolean, Property[])}
- */
- @Deprecated
- protected AbstractAppender(final String name, final Filter filter, final
Layout layout,
- final boolean ignoreExceptions) {
- this(name, filter, layout, ignoreExceptions, Property.EMPTY_ARRAY);
- }
-
public static int parseInt(final String s, final int defaultValue) {
try {
return Integers.parseInt(s, defaultValue);
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppender.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppender.java
index 1693c6d4c0..96aac7c610 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppender.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileAppender.java
@@ -23,6 +23,8 @@ import java.util.concurrent.TimeUnit;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.Layout;
+import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.Property;
import org.apache.logging.log4j.core.net.Advertiser;
import org.apache.logging.log4j.core.util.Integers;
@@ -79,14 +81,16 @@ public final class MemoryMappedFileAppender extends
AbstractOutputStreamAppender
return null;
}
final Layout layout = getOrCreateLayout();
+ final Configuration configuration = getConfiguration();
+ final LoggerContext loggerContext =
configuration.getLoggerContext();
final MemoryMappedFileManager manager =
MemoryMappedFileManager.getFileManager(fileName, append, isImmediateFlush(),
- actualRegionLength, advertiseURI, layout);
+ actualRegionLength, advertiseURI, layout, loggerContext);
if (manager == null) {
return null;
}
return new MemoryMappedFileAppender(name, layout, getFilter(),
manager, fileName, isIgnoreExceptions(), false,
- advertise ? getConfiguration().getAdvertiser() : null,
getPropertyArray());
+ advertise ? configuration.getAdvertiser() : null,
getPropertyArray());
}
public B setFileName(final String fileName) {
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java
index 453031976c..3a4f4a6cf5 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/MemoryMappedFileManager.java
@@ -34,6 +34,7 @@ import java.util.Objects;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import org.apache.logging.log4j.core.Layout;
+import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.util.Closer;
import org.apache.logging.log4j.core.util.FileUtils;
import org.apache.logging.log4j.util.ReflectionUtil;
@@ -74,8 +75,9 @@ public class MemoryMappedFileManager extends
OutputStreamManager {
protected MemoryMappedFileManager(final RandomAccessFile file, final
String fileName, final OutputStream os,
final boolean immediateFlush, final long
position, final int regionLength, final String advertiseURI,
- final Layout layout, final boolean
writeHeader) throws IOException {
- super(os, fileName, layout, writeHeader, ByteBuffer.wrap(new byte[0]));
+ final Layout layout, final boolean
writeHeader, final LoggerContext loggerContext) throws IOException {
+
+ super(loggerContext, os, fileName, false, layout, writeHeader,
ByteBuffer.wrap(new byte[0]));
this.immediateFlush = immediateFlush;
this.randomAccessFile = Objects.requireNonNull(file,
"RandomAccessFile");
this.regionLength = regionLength;
@@ -96,30 +98,11 @@ public class MemoryMappedFileManager extends
OutputStreamManager {
* @param layout The layout.
* @return A MemoryMappedFileManager for the File.
*/
- public static MemoryMappedFileManager getFileManager(final String
fileName, final boolean append,
- final boolean immediateFlush, final int regionLength, final String
advertiseURI,
- final Layout layout) {
+ public static MemoryMappedFileManager getFileManager(
+ final String fileName, final boolean append, final boolean
immediateFlush, final int regionLength,
+ final String advertiseURI, final Layout layout, final
LoggerContext loggerContext) {
return narrow(MemoryMappedFileManager.class, getManager(fileName, new
FactoryData(append, immediateFlush,
- regionLength, advertiseURI, layout), FACTORY));
- }
-
- /**
- * No longer used, the {@link
org.apache.logging.log4j.core.LogEvent#isEndOfBatch()} attribute is used
instead.
- * @return {@link Boolean#FALSE}.
- * @deprecated end-of-batch on the event is used instead.
- */
- @Deprecated
- public Boolean isEndOfBatch() {
- return Boolean.FALSE;
- }
-
- /**
- * No longer used, the {@link
org.apache.logging.log4j.core.LogEvent#isEndOfBatch()} attribute is used
instead.
- * This method is a no-op.
- * @deprecated end-of-batch on the event is used instead.
- */
- @Deprecated
- public void setEndOfBatch(@SuppressWarnings("unused") final boolean
endOfBatch) {
+ regionLength, advertiseURI, layout, loggerContext), FACTORY));
}
@Override
@@ -323,6 +306,7 @@ public class MemoryMappedFileManager extends
OutputStreamManager {
private final int regionLength;
private final String advertiseURI;
private final Layout layout;
+ private final LoggerContext loggerContext;
/**
* Constructor.
@@ -334,12 +318,13 @@ public class MemoryMappedFileManager extends
OutputStreamManager {
* @param layout The layout.
*/
public FactoryData(final boolean append, final boolean immediateFlush,
final int regionLength,
- final String advertiseURI, final Layout layout) {
+ final String advertiseURI, final Layout layout, final
LoggerContext loggerContext) {
this.append = append;
this.immediateFlush = immediateFlush;
this.regionLength = regionLength;
this.advertiseURI = advertiseURI;
this.layout = layout;
+ this.loggerContext = loggerContext;
}
}
@@ -377,7 +362,7 @@ public class MemoryMappedFileManager extends
OutputStreamManager {
final long position = (data.append) ? raf.length() : 0;
raf.setLength(position + data.regionLength);
return new MemoryMappedFileManager(raf, name, os,
data.immediateFlush, position, data.regionLength,
- data.advertiseURI, data.layout, writeHeader);
+ data.advertiseURI, data.layout, writeHeader,
data.loggerContext);
} catch (final Exception ex) {
LOGGER.error("MemoryMappedFileManager (" + name + ") " + ex,
ex);
Closer.closeSilently(raf);
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
index 0405b52535..1bdc922f70 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
@@ -45,23 +45,7 @@ public class OutputStreamManager extends AbstractManager
implements ByteBufferDe
protected OutputStreamManager(final OutputStream os, final String
streamName, final Layout layout,
final boolean writeHeader, final int bufferSize) {
- this(os, streamName, layout, writeHeader, ByteBuffer.wrap(new
byte[bufferSize]));
- }
-
- /**
- * @since 2.6
- * @deprecated
- */
- @Deprecated
- protected OutputStreamManager(final OutputStream os, final String
streamName, final Layout layout,
- final boolean writeHeader, final ByteBuffer byteBuffer) {
- super(null, streamName);
- this.outputStream = os;
- this.layout = layout;
- this.byteBuffer = Objects.requireNonNull(byteBuffer, "byteBuffer");
- if (writeHeader) {
- writeHeader(os);
- }
+ this(null, os, streamName, false, layout, writeHeader,
ByteBuffer.wrap(new byte[bufferSize]));
}
/**
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java
index 30fd5b543e..f562be43dc 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileManager.java
@@ -72,25 +72,6 @@ public class RandomAccessFileManager extends
OutputStreamManager {
new FactoryData(append, immediateFlush, bufferSize,
advertiseURI, layout, configuration), FACTORY));
}
- /**
- * No longer used, the {@link
org.apache.logging.log4j.core.LogEvent#isEndOfBatch()} attribute is used
instead.
- * @return {@link Boolean#FALSE}.
- * @deprecated end-of-batch on the event is used instead.
- */
- @Deprecated
- public Boolean isEndOfBatch() {
- return Boolean.FALSE;
- }
-
- /**
- * No longer used, the {@link
org.apache.logging.log4j.core.LogEvent#isEndOfBatch()} attribute is used
instead.
- * This method is a no-op.
- * @deprecated end-of-batch on the event is used instead.
- */
- @Deprecated
- public void setEndOfBatch(@SuppressWarnings("unused") final boolean
endOfBatch) {
- }
-
@Override
protected void writeToDestination(final byte[] bytes, final int offset,
final int length) {
try {
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
index b434677c70..3569099cbb 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
@@ -240,14 +240,6 @@ public class SyslogAppender extends SocketAppender {
return asBuilder();
}
- /**
- * @deprecated Use {@link #setEnterpriseNumber(String)} instead
- */
- public B setEnterpriseNumber(final int enterpriseNumber) {
- this.enterpriseNumber = String.valueOf(enterpriseNumber);
- return asBuilder();
- }
-
public B setIncludeMdc(final boolean includeMdc) {
this.includeMdc = includeMdc;
return asBuilder();
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManager.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManager.java
index f004aaba40..b82e98076c 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManager.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseManager.java
@@ -39,18 +39,6 @@ public abstract class AbstractDatabaseManager extends
AbstractManager implements
private final int bufferSize;
private final Layout layout;
- /**
- * Constructs the base factory data.
- *
- * @param bufferSize The size of the buffer.
- * @param layout The appender-level layout
- * @deprecated Use {@link
AbstractFactoryData#AbstractFactoryData(Configuration, int, Layout)}.
- */
- @Deprecated
- protected AbstractFactoryData(final int bufferSize, final Layout
layout) {
- this(null, bufferSize, layout);
- }
-
/**
* Constructs the base factory data.
* @param configuration Configuration creating this instance.
@@ -105,31 +93,6 @@ public abstract class AbstractDatabaseManager extends
AbstractManager implements
private final int bufferSize;
private final Layout layout;
private boolean running;
- /**
- * Constructs the base manager.
- *
- * @param name The manager name, which should include any configuration
details that one might want to be able to
- * reconfigure at runtime, such as database name, username,
(hashed) password, etc.
- * @param bufferSize The size of the log event buffer.
- * @deprecated Use {@link
AbstractDatabaseManager#AbstractDatabaseManager(String, int, Layout,
Configuration)}.
- */
- @Deprecated
- protected AbstractDatabaseManager(final String name, final int bufferSize)
{
- this(name, bufferSize, null);
- }
-
- /**
- * Constructs the base manager.
- *
- * @param name The manager name, which should include any configuration
details that one might want to be able to
- * reconfigure at runtime, such as database name, username,
(hashed) password, etc.
- * @param layout the Appender-level layout.
- * @param bufferSize The size of the log event buffer.
- * @deprecated Use {@link
AbstractDatabaseManager#AbstractDatabaseManager(String, int, Layout,
Configuration)}.
- */
- protected AbstractDatabaseManager(final String name, final int bufferSize,
final Layout layout) {
- this(name, bufferSize, layout, null);
- }
/**
* Constructs the base manager.
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/nosql/NoSqlDatabaseManager.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/nosql/NoSqlDatabaseManager.java
index 3145416406..44a9f9fbbc 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/nosql/NoSqlDatabaseManager.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/nosql/NoSqlDatabaseManager.java
@@ -220,20 +220,6 @@ public final class NoSqlDatabaseManager<W> extends
AbstractDatabaseManager {
return elementEntity;
}
- /**
- * Creates a NoSQL manager for use within the {@link NoSqlAppender}, or
returns a suitable one if it already exists.
- *
- * @param name The name of the manager, which should include connection
details and hashed passwords where possible.
- * @param bufferSize The size of the log event buffer.
- * @param provider A provider instance which will be used to obtain
connections to the chosen NoSQL database.
- * @return a new or existing NoSQL manager as applicable.
- * @deprecated Use {@link #getNoSqlDatabaseManager(String, int,
NoSqlProvider, KeyValuePair[], Configuration)}.
- */
- @Deprecated
- public static NoSqlDatabaseManager<?> getNoSqlDatabaseManager(final String
name, final int bufferSize, final NoSqlProvider<?> provider) {
- return AbstractDatabaseManager.getManager(name, new FactoryData(null,
bufferSize, provider, null), FACTORY);
- }
-
/**
* Creates a NoSQL manager for use within the {@link NoSqlAppender}, or
returns a suitable one if it already exists.
*
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java
index 38ac430e8d..314ca0f957 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManager.java
@@ -99,25 +99,6 @@ public class RollingRandomAccessFileManager extends
RollingFileManager {
filePermissions, fileOwner, fileGroup, configuration),
FACTORY));
}
- /**
- * No longer used, the {@link
org.apache.logging.log4j.core.LogEvent#isEndOfBatch()} attribute is used
instead.
- * @return {@link Boolean#FALSE}.
- * @deprecated end-of-batch on the event is used instead.
- */
- @Deprecated
- public Boolean isEndOfBatch() {
- return Boolean.FALSE;
- }
-
- /**
- * No longer used, the {@link
org.apache.logging.log4j.core.LogEvent#isEndOfBatch()} attribute is used
instead.
- * This method is a no-op.
- * @deprecated end-of-batch on the event is used instead.
- */
- @Deprecated
- public void setEndOfBatch(@SuppressWarnings("unused") final boolean
endOfBatch) {
- }
-
// override to make visible for unit tests
@Override
protected void write(final byte[] bytes, final int offset, final int
length,
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/GzCompressAction.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/GzCompressAction.java
index 1c8ce492d5..765ace6100 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/GzCompressAction.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/GzCompressAction.java
@@ -76,16 +76,6 @@ public final class GzCompressAction extends AbstractAction {
this.compressionLevel = compressionLevel;
}
- /**
- * Prefer the constructor with compression level.
- *
- * @deprecated Prefer {@link GzCompressAction#GzCompressAction(File, File,
boolean, int)}.
- */
- @Deprecated
- public GzCompressAction(final File source, final File destination, final
boolean deleteSource) {
- this(source, destination, deleteSource, Deflater.DEFAULT_COMPRESSION);
- }
-
/**
* Compress.
*
@@ -97,23 +87,6 @@ public final class GzCompressAction extends AbstractAction {
return execute(source, destination, deleteSource, compressionLevel);
}
- /**
- * Compress a file.
- *
- * @param source file to compress, may not be null.
- * @param destination compressed file, may not be null.
- * @param deleteSource if true, attempt to delete file on completion.
Failure to delete
- * does not cause an exception to be thrown or affect
return value.
- * @return true if source file compressed.
- * @throws IOException on IO exception.
- * @deprecated In favor of {@link #execute(File, File, boolean, int)}.
- */
- @Deprecated
- public static boolean execute(final File source, final File destination,
final boolean deleteSource)
- throws IOException {
- return execute(source, destination, deleteSource,
Deflater.DEFAULT_COMPRESSION);
- }
-
/**
* Compress a file.
*
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModified.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModified.java
index 4969ee02c5..97eaa3a390 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModified.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfLastModified.java
@@ -98,18 +98,6 @@ public final class IfLastModified implements PathCondition {
return "IfLastModified(age=" + age + nested + ")";
}
- /**
- * Create an IfLastModified condition.
- *
- * @param age The path age that is accepted by this condition. Must be a
valid Duration.
- * @param nestedConditions nested conditions to evaluate if this condition
accepts a path
- * @return An IfLastModified condition.
- */
- @Deprecated(since = "3.0.0", forRemoval = true)
- public static IfLastModified createAgeCondition(final Duration age, final
PathCondition... nestedConditions) {
- return
newBuilder().setAge(age).setNestedConditions(nestedConditions).get();
- }
-
@PluginFactory
public static Builder newBuilder() {
return new Builder();
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java
index b10eaba0f5..e80233758e 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfig.java
@@ -16,7 +16,6 @@
*/
package org.apache.logging.log4j.core.async;
-import java.util.Arrays;
import java.util.List;
import java.util.concurrent.TimeUnit;
@@ -30,7 +29,6 @@ import org.apache.logging.log4j.core.config.LoggerConfig;
import org.apache.logging.log4j.core.config.Property;
import org.apache.logging.log4j.core.impl.LogEventFactory;
import org.apache.logging.log4j.core.jmx.RingBufferAdmin;
-import org.apache.logging.log4j.core.util.Booleans;
import org.apache.logging.log4j.plugins.Configurable;
import org.apache.logging.log4j.plugins.Plugin;
import org.apache.logging.log4j.plugins.PluginFactory;
@@ -212,76 +210,6 @@ public class AsyncLoggerConfig extends LoggerConfig {
return delegate.createRingBufferAdmin(contextName, getName());
}
- /**
- * Factory method to create a LoggerConfig.
- *
- * @param additivity True if additive, false otherwise.
- * @param levelName The Level to be associated with the Logger.
- * @param loggerName The name of the Logger.
- * @param includeLocation "true" if location should be passed downstream
- * @param refs An array of Appender names.
- * @param properties Properties to pass to the Logger.
- * @param config The Configuration.
- * @param filter A Filter.
- * @return A new LoggerConfig.
- * @deprecated use {@link #createLogger(boolean, Level, String, String,
AppenderRef[], Property[], Configuration, Filter)}
- */
- @Deprecated
- public static LoggerConfig createLogger(
- final String additivity,
- final String levelName,
- final String loggerName,
- final String includeLocation,
- final AppenderRef[] refs,
- final Property[] properties,
- final Configuration config,
- final Filter filter) {
- if (loggerName == null) {
- LOGGER.error("Loggers cannot be configured without a name");
- return null;
- }
-
- final List<AppenderRef> appenderRefs = Arrays.asList(refs);
- Level level;
- try {
- level = Level.toLevel(levelName, Level.ERROR);
- } catch (final Exception ex) {
- LOGGER.error(
- "Invalid Log level specified: {}. Defaulting to Error",
- levelName);
- level = Level.ERROR;
- }
- final String name = loggerName.equals(LoggerConfig.ROOT) ?
Strings.EMPTY : loggerName;
- final boolean additive = Booleans.parseBoolean(additivity, true);
-
- return new AsyncLoggerConfig(name, appenderRefs, filter, level,
- additive, properties, config, includeLocation(includeLocation),
- config.getComponent(LogEventFactory.KEY));
- }
-
- /**
- * Factory method to create a LoggerConfig.
- *
- * @param additivity True if additive, false otherwise.
- * @param level The Level to be associated with the Logger.
- * @param loggerName The name of the Logger.
- * @param includeLocation "true" if location should be passed downstream
- * @param refs An array of Appender names.
- * @param properties Properties to pass to the Logger.
- * @param config The Configuration.
- * @param filter A Filter.
- * @return A new LoggerConfig.
- * @since 3.0
- */
- @Deprecated
- public static LoggerConfig createLogger(
- final boolean additivity, final Level level, final String
loggerName, final String includeLocation,
- final AppenderRef[] refs, final Property[] properties, final
Configuration config, final Filter filter) {
- final String name = loggerName.equals(ROOT) ? Strings.EMPTY :
loggerName;
- return new AsyncLoggerConfig(name, Arrays.asList(refs), filter, level,
additivity, properties, config,
- includeLocation(includeLocation),
config.getComponent(LogEventFactory.KEY));
- }
-
// Note: for asynchronous loggers, includeLocation default is FALSE
protected static boolean includeLocation(final String
includeLocationConfigValue) {
return Boolean.parseBoolean(includeLocationConfigValue);
@@ -311,15 +239,5 @@ public class AsyncLoggerConfig extends LoggerConfig {
}
}
- @Deprecated
- public static LoggerConfig createLogger(final String additivity, final
Level level, final String includeLocation,
- final AppenderRef[] refs, final Property[] properties, final
Configuration config, final Filter filter) {
- final List<AppenderRef> appenderRefs = Arrays.asList(refs);
- final Level actualLevel = level == null ? Level.ERROR : level;
- final boolean additive = Booleans.parseBoolean(additivity, true);
- return new AsyncLoggerConfig(LogManager.ROOT_LOGGER_NAME,
appenderRefs, filter, actualLevel, additive,
- properties, config,
AsyncLoggerConfig.includeLocation(includeLocation),
- config.getComponent(LogEventFactory.KEY));
- }
}
}
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 90f6b491fb..eb22159d52 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
@@ -144,7 +144,7 @@ public class RingBufferLogEvent implements LogEvent,
ReusableMessage, CharSequen
private StringBuilder getMessageTextForWriting() {
if (messageText == null) {
// Happens the first time messageText is requested or if a user
logs
- // a custom reused message when Constants.ENABLE_THREADLOCALS is
false
+ // a custom reused message when Constants.isThreadLocalsEnabled()
is false
messageText = new
StringBuilder(Constants.INITIAL_REUSABLE_MESSAGE_SIZE);
}
messageText.setLength(0);
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
index 57e16a552b..10feed227d 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
@@ -16,8 +16,6 @@
*/
package org.apache.logging.log4j.core.config;
-import java.io.IOException;
-import java.io.InputStream;
import java.lang.invoke.MethodHandles;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
@@ -1130,18 +1128,6 @@ public abstract class AbstractConfiguration extends
AbstractFilterable implement
return null;
}
- /**
- * This method is used by Arbiters to create specific children.
- * @param type The PluginType.
- * @param node The Node.
- * @return The created object or null;
- * @deprecated use {@link #createPluginObject(Node)}
- */
- @Deprecated
- public Object createPluginObject(final PluginType<?> type, final Node
node) {
- return createPluginObject(node);
- }
-
private void setParents() {
for (final Map.Entry<String, LoggerConfig> entry :
loggerConfigs.entrySet()) {
final LoggerConfig logger = entry.getValue();
@@ -1162,20 +1148,6 @@ public abstract class AbstractConfiguration extends
AbstractFilterable implement
}
}
- /**
- * Reads an InputStream using buffered reads into a byte array buffer. The
given InputStream will remain open after
- * invocation of this method.
- *
- * @param is the InputStream to read into a byte array buffer.
- * @return a byte array of the InputStream contents.
- * @throws IOException if the {@code read} method of the provided
InputStream throws this exception.
- * @deprecated use {@link InputStream#readAllBytes()}
- */
- @Deprecated(since = "3.0.0")
- protected static byte[] toByteArray(final InputStream is) throws
IOException {
- return is.readAllBytes();
- }
-
@Override
public NanoClock getNanoClock() {
return instanceFactory.getInstance(NanoClock.class);
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
index e94a2eb3f1..a86f0470fe 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/LoggerConfig.java
@@ -39,7 +39,6 @@ import org.apache.logging.log4j.core.impl.Log4jLogEvent;
import org.apache.logging.log4j.core.impl.LogEventFactory;
import org.apache.logging.log4j.core.impl.ReusableLogEventFactory;
import org.apache.logging.log4j.core.lookup.StrSubstitutor;
-import org.apache.logging.log4j.core.util.Booleans;
import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.plugins.Configurable;
import org.apache.logging.log4j.plugins.Inject;
@@ -88,7 +87,7 @@ public class LoggerConfig extends AbstractFilterable {
* The type to build
*/
public static class Builder<B extends Builder<B>>
- implements
org.apache.logging.log4j.core.util.Builder<LoggerConfig> {
+ implements
org.apache.logging.log4j.plugins.util.Builder<LoggerConfig> {
@PluginBuilderAttribute
private Boolean additivity;
@@ -152,7 +151,7 @@ public class LoggerConfig extends AbstractFilterable {
return refs;
}
- public B setRefs(@PluginElement final AppenderRef[] refs) {
+ public B setRefs(@PluginElement final AppenderRef... refs) {
this.refs = refs;
return asBuilder();
}
@@ -161,7 +160,7 @@ public class LoggerConfig extends AbstractFilterable {
return properties;
}
- public B setProperties(@PluginElement final Property[] properties) {
+ public B setProperties(@PluginElement final Property... properties) {
this.properties = properties;
return asBuilder();
}
@@ -643,29 +642,6 @@ public class LoggerConfig extends AbstractFilterable {
return Strings.isEmpty(name) ? ROOT : name;
}
- /**
- * Factory method to create a LoggerConfig.
- *
- * @param additivity true if additive, false otherwise.
- * @param level The Level to be associated with the Logger.
- * @param loggerName The name of the Logger.
- * @param includeLocation whether location should be passed downstream
- * @param refs An array of Appender names.
- * @param properties Properties to pass to the Logger.
- * @param config The Configuration.
- * @param filter A Filter.
- * @return A new LoggerConfig.
- * @since 2.6
- */
- @Deprecated
- public static LoggerConfig createLogger(
- final boolean additivity, final Level level, final String
loggerName, final String includeLocation,
- final AppenderRef[] refs, final Property[] properties, final
Configuration config, final Filter filter) {
- final String name = loggerName.equals(ROOT) ? Strings.EMPTY :
loggerName;
- return new LoggerConfig(name, Arrays.asList(refs), filter, level,
additivity, properties, config,
- includeLocation(includeLocation, config),
config.getComponent(LogEventFactory.KEY));
- }
-
// Note: for asynchronous loggers, includeLocation default is FALSE,
// for synchronous loggers, includeLocation default is TRUE.
protected static boolean includeLocation(final String
includeLocationConfigValue, final Configuration configuration) {
@@ -706,7 +682,7 @@ public class LoggerConfig extends AbstractFilterable {
* The type to build
*/
public static class Builder<B extends Builder<B>>
- implements
org.apache.logging.log4j.core.util.Builder<LoggerConfig> {
+ implements
org.apache.logging.log4j.plugins.util.Builder<LoggerConfig> {
private boolean additivity;
private Level level;
@@ -814,18 +790,6 @@ public class LoggerConfig extends AbstractFilterable {
}
- @Deprecated
- public static LoggerConfig createLogger(
- final String additivity, final Level level, final String
includeLocation, final AppenderRef[] refs,
- final Property[] properties, final Configuration config, final
Filter filter) {
- final List<AppenderRef> appenderRefs = Arrays.asList(refs);
- final Level actualLevel = level == null ? Level.ERROR : level;
- final boolean additive = Booleans.parseBoolean(additivity, true);
-
- return new LoggerConfig(LogManager.ROOT_LOGGER_NAME, appenderRefs,
filter, actualLevel, additive,
- properties, config, includeLocation(includeLocation,
config),
- config.getComponent(LogEventFactory.KEY));
- }
}
protected static LevelAndRefs getLevelAndRefs(final Level level, final
AppenderRef[] refs, final String levelAndRefs,
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java
index 630d036450..a1e39d0ae7 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java
@@ -53,30 +53,6 @@ import org.apache.logging.log4j.util.StringMap;
@PerformanceSensitive("allocation")
public final class DynamicThresholdFilter extends AbstractFilter {
- /**
- * Creates a DynamicThresholdFilter.
- * @param key The name of the key to compare.
- * @param pairs An array of value and Level pairs.
- * @param defaultThreshold The default Level.
- * @param onMatch The action to perform if a match occurs.
- * @param onMismatch The action to perform if no match occurs.
- * @return The DynamicThresholdFilter.
- * @deprecated use {@link Builder}
- */
- @Deprecated(since = "3.0.0", forRemoval = true)
- public static DynamicThresholdFilter createFilter(
- final String key, final KeyValuePair[] pairs, final Level
defaultThreshold, final Result onMatch,
- final Result onMismatch) {
- return newBuilder()
- .setKey(key)
- .setPairs(pairs)
- .setDefaultThreshold(defaultThreshold)
- .setOnMatch(onMatch)
- .setOnMismatch(onMismatch)
-
.setContextDataInjector(ContextDataInjectorFactory.createInjector())
- .get();
- }
-
@PluginFactory
public static Builder newBuilder() {
return new Builder();
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 84e0877b09..81fd9125d3 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
@@ -260,7 +260,10 @@ public class ThreadContextMapFilter extends MapFilter {
return null;
}
final boolean isAnd = operator == null ||
!operator.equalsIgnoreCase("or");
- return new ThreadContextMapFilter(map, isAnd, getOnMatch(),
getOnMismatch(), contextDataInjector);
+ final ContextDataInjector injector = contextDataInjector != null
+ ? contextDataInjector
+ : ContextDataInjectorFactory.createInjector();
+ return new ThreadContextMapFilter(map, isAnd, getOnMatch(),
getOnMismatch(), injector);
}
}
@@ -269,15 +272,4 @@ public class ThreadContextMapFilter extends MapFilter {
return new Builder();
}
- @Deprecated(since = "3.0.0", forRemoval = true)
- public static ThreadContextMapFilter createFilter(
- final KeyValuePair[] pairs, final String operator, final Result
onMatch, final Result onMismatch) {
- return newBuilder()
- .setPairs(pairs)
- .setOperator(operator)
- .setOnMatch(onMatch)
- .setOnMismatch(onMismatch)
-
.setContextDataInjector(ContextDataInjectorFactory.createInjector())
- .get();
- }
}
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 cfff483228..9d8a2f9f33 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
@@ -252,33 +252,6 @@ public final class TimeFilter extends AbstractFilter {
return sb.toString();
}
- /**
- * Creates a TimeFilter.
- * @param start The start time.
- * @param end The end time.
- * @param tz timezone.
- * @param match Action to perform if the time matches.
- * @param mismatch Action to perform if the action does not match.
- * @return A TimeFilter.
- */
- @Deprecated(since = "3.0.0", forRemoval = true)
- public static TimeFilter createFilter(
- final String start, final String end, final String tz, final
Result match, final Result mismatch) {
- final Builder builder = newBuilder()
- .setStart(start)
- .setEnd(end);
- if (tz != null) {
- builder.setTimezone(ZoneId.of(tz));
- }
- if (match != null) {
- builder.setOnMatch(match);
- }
- if (mismatch != null) {
- builder.setOnMismatch(mismatch);
- }
- return builder.get();
- }
-
private static LocalTime parseTimestamp(final String timestamp, final
LocalTime defaultValue) {
if (timestamp == null) {
return defaultValue;
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.java
index 37b3d3f647..fa293f5f6f 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThreadContextDataInjector.java
@@ -63,15 +63,6 @@ public class ThreadContextDataInjector {
private static final List<ContextDataProvider> SERVICE_PROVIDERS =
getServiceProviders();
- /**
- * Previously this method allowed ContextDataProviders to be loaded
eagerly, now they
- * are loaded when this class is initialized.
- *
- * @deprecated no-op
- */
- @Deprecated
- public static void initServiceProviders() {}
-
private static List<ContextDataProvider> getServiceProviders() {
final List<ContextDataProvider> providers = new ArrayList<>();
final List<ContextDataProvider> services =
ServiceRegistry.getInstance()
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
index 39064163a7..5c1587beb9 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
@@ -25,7 +25,6 @@ import org.apache.logging.log4j.core.config.LoggerConfig;
import org.apache.logging.log4j.core.impl.Log4jPropertyKey;
import org.apache.logging.log4j.core.impl.LogEventFactory;
import org.apache.logging.log4j.core.util.Constants;
-import org.apache.logging.log4j.core.util.StringEncoder;
import org.apache.logging.log4j.plugins.PluginAttribute;
import org.apache.logging.log4j.plugins.PluginElement;
import org.apache.logging.log4j.spi.AbstractLogger;
@@ -246,7 +245,8 @@ public abstract class AbstractStringLayout extends
AbstractLayout {
if (serializable == null) {
return defaultValue;
}
- return StringEncoder.toBytes(serializable, getCharset());
+ final Charset charset = getCharset();
+ return serializable.getBytes(charset != null ? charset :
Charset.defaultCharset());
}
protected String serializeToString(final Serializer serializer) {
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/ByteBufferDestinationHelper.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/ByteBufferDestinationHelper.java
deleted file mode 100644
index 6969c7e99b..0000000000
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/ByteBufferDestinationHelper.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * 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.layout;
-
-import java.nio.ByteBuffer;
-
-/**
- * Helper class for ByteBufferDestination implementors.
- *
- * @since 2.9 (see LOG4J2-1874)
- * @deprecated use methods on ByteBufferDestination directly
- */
-@Deprecated(since = "3.0.0")
-public final class ByteBufferDestinationHelper {
-
- private ByteBufferDestinationHelper() {
- }
-
- /**
- * Writes the specified data to the specified destination. Doesn't
synchronize on the destination object. The helper
- * method for {@link ByteBufferDestination#writeBytes(ByteBuffer)}
implementations.
- *
- * @param source the data to write
- * @param destination the {@code ByteBufferDestination} to write to
- * @deprecated use {@link
ByteBufferDestination#unsynchronizedWrite(ByteBuffer)}
- */
- @Deprecated(since = "3.0.0")
- public static void writeToUnsynchronized(final ByteBuffer source, final
ByteBufferDestination destination) {
- destination.unsynchronizedWrite(source);
- }
-
- /**
- * Writes the specified data to the specified destination. Doesn't
synchronize on the destination object. The helper
- * method for {@link ByteBufferDestination#writeBytes(byte[], int, int)}
implementations.
- *
- * @param data the data to write
- * @param offset where to start in the specified data array
- * @param length the number of bytes to write
- * @param destination the {@code ByteBufferDestination} to write to
- * @deprecated use {@link
ByteBufferDestination#unsynchronizedWrite(byte[], int, int)}
- */
- @Deprecated(since = "3.0.0")
- public static void writeToUnsynchronized(final byte[] data, final int
offset, final int length,
- final ByteBufferDestination destination) {
- destination.unsynchronizedWrite(data, offset, length);
- }
-}
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LevelPatternSelector.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LevelPatternSelector.java
index 35e31a0959..82095f7691 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LevelPatternSelector.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/LevelPatternSelector.java
@@ -24,14 +24,14 @@ import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.Configuration;
-import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute;
-import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory;
-import org.apache.logging.log4j.core.config.plugins.PluginConfiguration;
-import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.pattern.PatternFormatter;
import org.apache.logging.log4j.core.pattern.PatternParser;
import org.apache.logging.log4j.plugins.Configurable;
+import org.apache.logging.log4j.plugins.Factory;
+import org.apache.logging.log4j.plugins.Inject;
import org.apache.logging.log4j.plugins.Plugin;
+import org.apache.logging.log4j.plugins.PluginBuilderAttribute;
+import org.apache.logging.log4j.plugins.PluginElement;
import org.apache.logging.log4j.status.StatusLogger;
/**
@@ -44,24 +44,23 @@ public class LevelPatternSelector implements
PatternSelector{
/**
* Custom MarkerPatternSelector builder. Use the {@link
LevelPatternSelector#newBuilder() builder factory method} to create this.
*/
- public static class Builder implements
org.apache.logging.log4j.core.util.Builder<LevelPatternSelector> {
+ public static class Builder implements
org.apache.logging.log4j.plugins.util.Builder<LevelPatternSelector> {
@PluginElement("PatternMatch")
private PatternMatch[] properties;
- @PluginBuilderAttribute("defaultPattern")
+ @PluginBuilderAttribute
private String defaultPattern;
- @PluginBuilderAttribute(value = "alwaysWriteExceptions")
+ @PluginBuilderAttribute
private boolean alwaysWriteExceptions = true;
- @PluginBuilderAttribute(value = "disableAnsi")
+ @PluginBuilderAttribute
private boolean disableAnsi;
- @PluginBuilderAttribute(value = "noConsoleNoAnsi")
+ @PluginBuilderAttribute
private boolean noConsoleNoAnsi;
- @PluginConfiguration
private Configuration configuration;
@Override
@@ -102,6 +101,7 @@ public class LevelPatternSelector implements
PatternSelector{
return this;
}
+ @Inject
public Builder setConfiguration(final Configuration configuration) {
this.configuration = configuration;
return this;
@@ -121,16 +121,6 @@ public class LevelPatternSelector implements
PatternSelector{
private final boolean requiresLocation;
- /**
- * @deprecated Use {@link #newBuilder()} instead. This will be private in
a future version.
- */
- @Deprecated
- public LevelPatternSelector(final PatternMatch[] properties, final String
defaultPattern,
- final boolean alwaysWriteExceptions, final
boolean noConsoleNoAnsi,
- final Configuration config) {
- this(properties, defaultPattern, alwaysWriteExceptions, false,
noConsoleNoAnsi, config);
- }
-
private LevelPatternSelector(final PatternMatch[] properties, final String
defaultPattern,
final boolean alwaysWriteExceptions, final
boolean disableAnsi,
final boolean noConsoleNoAnsi, final
Configuration config) {
@@ -189,37 +179,11 @@ public class LevelPatternSelector implements
PatternSelector{
*
* @return a ScriptPatternSelector builder.
*/
- @PluginBuilderFactory
+ @Factory
public static Builder newBuilder() {
return new Builder();
}
- /**
- * Deprecated, use {@link #newBuilder()} instead.
- * @param properties
- * @param defaultPattern
- * @param alwaysWriteExceptions
- * @param noConsoleNoAnsi
- * @param configuration
- * @return a new MarkerPatternSelector.
- * @deprecated Use {@link #newBuilder()} instead.
- */
- @Deprecated
- public static LevelPatternSelector createSelector(
- final PatternMatch[] properties,
- final String defaultPattern,
- final boolean alwaysWriteExceptions,
- final boolean noConsoleNoAnsi,
- final Configuration configuration) {
- final Builder builder = newBuilder();
- builder.setProperties(properties);
- builder.setDefaultPattern(defaultPattern);
- builder.setAlwaysWriteExceptions(alwaysWriteExceptions);
- builder.setNoConsoleNoAnsi(noConsoleNoAnsi);
- builder.setConfiguration(configuration);
- return builder.build();
- }
-
@Override
public String toString() {
final StringBuilder sb = new StringBuilder();
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/TextEncoderHelper.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/TextEncoderHelper.java
index 880072c860..3785e71fc2 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/TextEncoderHelper.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/TextEncoderHelper.java
@@ -159,20 +159,6 @@ public class TextEncoderHelper {
});
}
- /**
- * For testing purposes only.
- */
- @Deprecated
- public static void encodeText(final CharsetEncoder charsetEncoder, final
CharBuffer charBuf,
- final ByteBufferDestination destination) {
- charsetEncoder.reset();
- destination.withLock(() -> {
- ByteBuffer byteBuf = destination.getByteBuffer();
- byteBuf = encodeAsMuchAsPossible(charsetEncoder, charBuf, true,
destination, byteBuf);
- flushRemainingBytes(charsetEncoder, destination, byteBuf);
- });
- }
-
/**
* Continues to write the contents of the ByteBuffer to the destination
and encode more of the CharBuffer text
* into the ByteBuffer until the remaining encoded text fit into the
ByteBuffer, at which point the ByteBuffer
@@ -213,19 +199,6 @@ public class TextEncoderHelper {
}
}
- private static ByteBuffer encodeAsMuchAsPossible(final CharsetEncoder
charsetEncoder, final CharBuffer charBuf,
- final boolean endOfInput, final ByteBufferDestination destination,
ByteBuffer temp) {
- CoderResult result;
- do {
- result = charsetEncoder.encode(charBuf, temp, endOfInput);
- temp = drainIfByteBufferFull(destination, temp, result);
- } while (result.isOverflow()); // byte buffer has been drained: retry
- if (!result.isUnderflow()) { // we should have fully read the char
buffer contents
- throwException(result);
- }
- return temp;
- }
-
/**
* If the CoderResult indicates the ByteBuffer is full, synchronize on the
destination and write the content
* of the ByteBuffer to the destination. If the specified ByteBuffer is
owned by the destination, we have
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Source.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Source.java
index ebbe0ac7f3..685457ec2d 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Source.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/Source.java
@@ -133,18 +133,6 @@ public class Source {
this.file = toFile(normUri);
}
- /**
- * Constructs a new {@code Source} from the specified URI.
- *
- * @param uri the URI where the input stream originated
- * @param lastModified Not used.
- * @deprecated Use {@link Source#Source(URI)}.
- */
- @Deprecated
- public Source(final URI uri, final long lastModified) {
- this(uri);
- }
-
/**
* Constructs a new {@code Source} from the specified URL.
*
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/StringEncoder.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/StringEncoder.java
deleted file mode 100644
index 5a61db64b8..0000000000
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/StringEncoder.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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.util;
-
-import java.nio.charset.Charset;
-
-/**
- * Encodes Strings to bytes.
- *
- * @since 2.5
- */
-public final class StringEncoder {
-
- private StringEncoder() {
- }
-
- /**
- * Converts a String to a byte[].
- *
- * @param str if null, return null.
- * @param charset if null, use the default charset.
- * @return a byte[]
- */
- public static byte[] toBytes(final String str, final Charset charset) {
- if (str != null) {
- return str.getBytes(charset != null ? charset :
Charset.defaultCharset());
- }
- return null;
- }
-
- /**
- * Prefer standard {@link String#getBytes(Charset)} which performs better
in Java 8 and beyond.
- * Encodes the specified char sequence by casting each character to a byte.
- *
- * @param s the char sequence to encode
- * @return the encoded String
- * @see <a
href="https://issues.apache.org/jira/browse/LOG4J2-1151">LOG4J2-1151</a>
- * @deprecated No longer necessary given better performance in Java 8
- */
- @Deprecated
- public static byte[] encodeSingleByteChars(final CharSequence s) {
- final int length = s.length();
- final byte[] result = new byte[length];
- encodeString(s, 0, length, result);
- return result;
- }
-
- // LOG4J2-1151
- /**
- * Prefer standard {@link String#getBytes(Charset)} which performs better
in Java 8 and beyond.
- *
- * Implementation note: this is the fast path. If the char array contains
only ISO-8859-1 characters, all the work
- * will be done here.
- *
- * @deprecated No longer necessary given better performance in Java 8
- */
- @Deprecated
- public static int encodeIsoChars(final CharSequence charArray, int
charIndex, final byte[] byteArray, int byteIndex, final int length) {
- int i = 0;
- for (; i < length; i++) {
- final char c = charArray.charAt(charIndex++);
- if (c > 255) {
- break;
- }
- byteArray[(byteIndex++)] = ((byte) c);
- }
- return i;
- }
-
- // LOG4J2-1151
-
- /**
- * Prefer standard {@link String#getBytes(Charset)} which performs better
in Java 8 and beyond.
- * @deprecated No longer necessary given better performance in Java 8
- */
- @Deprecated
- public static int encodeString(final CharSequence charArray, final int
charOffset, final int charLength, final byte[] byteArray) {
- int byteOffset = 0;
- int length = Math.min(charLength, byteArray.length);
- int charDoneIndex = charOffset + length;
- int currentCharOffset = charOffset;
- int currentCharLength = charLength;
- while (currentCharOffset < charDoneIndex) {
- final int done = encodeIsoChars(charArray, currentCharOffset,
byteArray, byteOffset, length);
- currentCharOffset += done;
- byteOffset += done;
- if (done != length) {
- final char c = charArray.charAt(currentCharOffset++);
- if ((Character.isHighSurrogate(c)) && (currentCharOffset <
charDoneIndex)
- &&
(Character.isLowSurrogate(charArray.charAt(currentCharOffset)))) {
- if (currentCharLength > byteArray.length) {
- charDoneIndex++;
- currentCharLength--;
- }
- currentCharOffset++;
- }
- byteArray[(byteOffset++)] = '?';
- length = Math.min(charDoneIndex - currentCharOffset,
byteArray.length - byteOffset);
- }
- }
- return byteOffset;
- }
-}
diff --git
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/WatchManager.java
b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/WatchManager.java
index 37f477b707..9ed1f2dc5a 100644
---
a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/WatchManager.java
+++
b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/WatchManager.java
@@ -35,7 +35,6 @@ import aQute.bnd.annotation.Resolution;
import aQute.bnd.annotation.spi.ServiceConsumer;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.AbstractLifeCycle;
-import org.apache.logging.log4j.core.config.ConfigurationFileWatcher;
import org.apache.logging.log4j.core.config.ConfigurationScheduler;
import org.apache.logging.log4j.plugins.Inject;
import org.apache.logging.log4j.plugins.Singleton;
@@ -177,24 +176,6 @@ public class WatchManager extends AbstractLifeCycle {
return this.intervalSeconds;
}
- /**
- * Returns a Map of the file watchers.
- *
- * @return A Map of the file watchers.
- * @deprecated use getConfigurationWatchers.
- */
- public Map<File, FileWatcher> getWatchers() {
- final Map<File, FileWatcher> map = new HashMap<>(watchers.size());
- for (final Map.Entry<Source, ConfigurationMonitor> entry :
watchers.entrySet()) {
- if (entry.getValue().getWatcher() instanceof
ConfigurationFileWatcher) {
- map.put(entry.getKey().getFile(), (FileWatcher)
entry.getValue().getWatcher());
- } else {
- map.put(entry.getKey().getFile(), new
WrappedFileWatcher((FileWatcher) entry.getValue().getWatcher()));
- }
- }
- return map;
- }
-
public boolean hasEventListeners() {
return eventServiceList.size() > 0;
}
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 6ce1ff07fa..399530c579 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
@@ -61,7 +61,7 @@ public enum GcFreeLoggingTestUtil {
System.setProperty(LoggingSystemProperty.IS_WEBAPP.getSystemKey(),
"false");
System.setProperty(Log4jPropertyKey.CONFIG_LOCATION.getSystemKey(),
configurationFile);
- assertTrue(isThreadLocalsEnabled(), "Constants.ENABLE_THREADLOCALS");
+ assertTrue(isThreadLocalsEnabled(),
"Constants.isThreadLocalsEnabled()");
assertTrue(Constants.ENABLE_DIRECT_ENCODERS,
"Constants.ENABLE_DIRECT_ENCODERS");
assertFalse(isWebApp(), "Constants.isWebApp()");
diff --git
a/log4j-jakarta-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpManager.java
b/log4j-jakarta-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpManager.java
index 6c48e0c355..1845d26453 100644
---
a/log4j-jakarta-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpManager.java
+++
b/log4j-jakarta-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpManager.java
@@ -273,18 +273,6 @@ public class SmtpManager extends AbstractManager {
return mp;
}
- /**
- * @deprecated Please use the {@link #sendMultipartMessage(MimeMessage,
MimeMultipart, String)} method instead.
- */
- @Deprecated
- protected void sendMultipartMessage(final MimeMessage msg, final
MimeMultipart mp) throws MessagingException {
- synchronized (msg) {
- msg.setContent(mp);
- msg.setSentDate(new Date());
- Transport.send(msg);
- }
- }
-
protected void sendMultipartMessage(final MimeMessage msg, final
MimeMultipart mp, final String subject) throws MessagingException {
synchronized (msg) {
msg.setContent(mp);
diff --git
a/log4j-jdbc-dbcp2/src/main/java/org/apache/logging/log4j/dbcp2/appender/PoolingDriverConnectionSource.java
b/log4j-jdbc-dbcp2/src/main/java/org/apache/logging/log4j/dbcp2/appender/PoolingDriverConnectionSource.java
index 8d4d511aa0..c14b7bcabd 100644
---
a/log4j-jdbc-dbcp2/src/main/java/org/apache/logging/log4j/dbcp2/appender/PoolingDriverConnectionSource.java
+++
b/log4j-jdbc-dbcp2/src/main/java/org/apache/logging/log4j/dbcp2/appender/PoolingDriverConnectionSource.java
@@ -105,18 +105,6 @@ public final class PoolingDriverConnectionSource extends
AbstractDriverManagerCo
private final String poolName;
- /**
- * @deprecated Use {@link #newPoolingDriverConnectionSourceBuilder()}.
- */
- @Deprecated
- public PoolingDriverConnectionSource(final String driverClassName, final
String connectionString,
- final char[] userName, final char[] password, final Property[]
properties, final String poolName)
- throws SQLException {
- super(driverClassName, connectionString, URL_PREFIX + poolName,
userName, password, properties);
- this.poolName = poolName;
- setupDriver(connectionString, null);
- }
-
private PoolingDriverConnectionSource(final String driverClassName, final
String connectionString,
final char[] userName, final char[] password, final Property[]
properties, final String poolName,
final PoolableConnectionFactoryConfig
poolableConnectionFactoryConfig)
diff --git
a/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/JdbcAppender.java
b/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/JdbcAppender.java
index b04dd15526..7276c1cd01 100644
---
a/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/JdbcAppender.java
+++
b/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/JdbcAppender.java
@@ -92,7 +92,7 @@ public final class JdbcAppender extends
AbstractDatabaseAppender<JdbcDatabaseMan
+ Arrays.toString(columnMappings) + '}';
final JdbcDatabaseManager manager =
JdbcDatabaseManager.getManager(managerName, bufferSize, getLayout(),
connectionSource, tableName, columnConfigs,
columnMappings, immediateFail, reconnectIntervalMillis,
- truncateStrings);
+ truncateStrings, getConfiguration());
if (manager == null) {
return null;
}
diff --git
a/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/JdbcDatabaseManager.java
b/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/JdbcDatabaseManager.java
index f010dc11f5..e55ac88d14 100644
---
a/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/JdbcDatabaseManager.java
+++
b/log4j-jdbc/src/main/java/org/apache/logging/log4j/jdbc/appender/JdbcDatabaseManager.java
@@ -46,6 +46,7 @@ import org.apache.logging.log4j.core.appender.ManagerFactory;
import org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager;
import org.apache.logging.log4j.core.appender.db.ColumnMapping;
import org.apache.logging.log4j.core.appender.db.DbAppenderLoggingException;
+import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.util.Closer;
import org.apache.logging.log4j.core.util.Log4jThread;
import org.apache.logging.log4j.jdbc.convert.DateTypeConverter;
@@ -76,10 +77,10 @@ public final class JdbcDatabaseManager extends
AbstractDatabaseManager {
private final boolean truncateStrings;
protected FactoryData(final int bufferSize, final Layout layout,
- final ConnectionSource connectionSource, final String
tableName, final ColumnConfig[] columnConfigs,
- final ColumnMapping[] columnMappings, final boolean
immediateFail, final long reconnectIntervalMillis,
- final boolean truncateStrings) {
- super(bufferSize, layout);
+ final ConnectionSource connectionSource, final
String tableName, final ColumnConfig[] columnConfigs,
+ final ColumnMapping[] columnMappings, final
boolean immediateFail, final long reconnectIntervalMillis,
+ final boolean truncateStrings, final
Configuration configuration) {
+ super(configuration, bufferSize, layout);
this.connectionSource = connectionSource;
this.tableName = tableName;
this.columnConfigs = columnConfigs;
@@ -393,9 +394,10 @@ public final class JdbcDatabaseManager extends
AbstractDatabaseManager {
public static JdbcDatabaseManager getManager(final String name, final int
bufferSize,
final Layout layout, final
ConnectionSource connectionSource,
final String tableName, final
ColumnConfig[] columnConfigs, final ColumnMapping[] columnMappings,
- final boolean immediateFail,
final long reconnectIntervalMillis, final boolean truncateStrings) {
+ final boolean immediateFail,
final long reconnectIntervalMillis, final boolean truncateStrings,
+ final Configuration
configuration) {
return getManager(name, new FactoryData(bufferSize, layout,
connectionSource, tableName, columnConfigs,
- columnMappings, immediateFail, reconnectIntervalMillis,
truncateStrings), getFactory());
+ columnMappings, immediateFail, reconnectIntervalMillis,
truncateStrings, configuration), getFactory());
}
// NOTE: prepared statements are prepared in this order: column mappings,
then column configs
@@ -410,7 +412,7 @@ public final class JdbcDatabaseManager extends
AbstractDatabaseManager {
private JdbcDatabaseManager(final String name, final String sqlStatement,
final List<ColumnConfig> columnConfigs,
final FactoryData factoryData) {
- super(name, factoryData.getBufferSize());
+ super(name, factoryData.getBufferSize(), factoryData.getLayout(),
factoryData.getConfiguration());
this.sqlStatement = sqlStatement;
this.columnConfigs = columnConfigs;
this.factoryData = factoryData;
diff --git
a/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/appender/JpaAppender.java
b/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/appender/JpaAppender.java
index e64d476634..615117b876 100644
---
a/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/appender/JpaAppender.java
+++
b/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/appender/JpaAppender.java
@@ -23,6 +23,7 @@ import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.appender.AbstractAppender;
import org.apache.logging.log4j.core.appender.db.AbstractDatabaseAppender;
+import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.Property;
import org.apache.logging.log4j.core.util.Booleans;
import org.apache.logging.log4j.plugins.Configurable;
@@ -78,7 +79,8 @@ public final class JpaAppender extends
AbstractDatabaseAppender<JpaDatabaseManag
@PluginElement final Filter filter,
@PluginAttribute final String bufferSize,
@PluginAttribute final String entityClassName,
- @PluginAttribute final String persistenceUnitName) {
+ @PluginAttribute final String persistenceUnitName,
+ final Configuration configuration) {
if (Strings.isEmpty(entityClassName) ||
Strings.isEmpty(persistenceUnitName)) {
LOGGER.error("Attributes entityClassName and persistenceUnitName
are required for JPA Appender.");
return null;
@@ -106,7 +108,7 @@ public final class JpaAppender extends
AbstractDatabaseAppender<JpaDatabaseManag
+ ", persistenceUnitName=" + persistenceUnitName + ",
entityClass=" + entityClass.getName() + '}';
final JpaDatabaseManager manager =
JpaDatabaseManager.getJPADatabaseManager(
- managerName, bufferSizeInt, entityClass,
entityConstructor, persistenceUnitName
+ managerName, bufferSizeInt, entityClass,
entityConstructor, persistenceUnitName, configuration
);
if (manager == null) {
return null;
diff --git
a/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/appender/JpaDatabaseManager.java
b/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/appender/JpaDatabaseManager.java
index ce2b6fd2eb..d9dbcece10 100644
---
a/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/appender/JpaDatabaseManager.java
+++
b/log4j-jpa/src/main/java/org/apache/logging/log4j/jpa/appender/JpaDatabaseManager.java
@@ -27,6 +27,7 @@ import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.appender.AppenderLoggingException;
import org.apache.logging.log4j.core.appender.ManagerFactory;
import org.apache.logging.log4j.core.appender.db.AbstractDatabaseManager;
+import org.apache.logging.log4j.core.config.Configuration;
/**
* An {@link AbstractDatabaseManager} implementation for relational databases
accessed via JPA.
@@ -46,8 +47,8 @@ public final class JpaDatabaseManager extends
AbstractDatabaseManager {
private JpaDatabaseManager(final String name, final int bufferSize,
final Class<? extends
AbstractLogEventWrapperEntity> entityClass,
final Constructor<? extends
AbstractLogEventWrapperEntity> entityConstructor,
- final String persistenceUnitName) {
- super(name, bufferSize);
+ final String persistenceUnitName, final
Configuration configuration) {
+ super(name, bufferSize, null, configuration);
this.entityClassName = entityClass.getName();
this.entityConstructor = entityConstructor;
this.persistenceUnitName = persistenceUnitName;
@@ -153,10 +154,11 @@ public final class JpaDatabaseManager extends
AbstractDatabaseManager {
entityClass,
final Constructor<?
extends AbstractLogEventWrapperEntity>
entityConstructor,
- final String
persistenceUnitName) {
+ final String
persistenceUnitName,
+ final Configuration
configuration) {
return AbstractDatabaseManager.getManager(
- name, new FactoryData(bufferSize, entityClass,
entityConstructor, persistenceUnitName), FACTORY
+ name, new FactoryData(bufferSize, entityClass,
entityConstructor, persistenceUnitName, configuration), FACTORY
);
}
@@ -170,8 +172,8 @@ public final class JpaDatabaseManager extends
AbstractDatabaseManager {
protected FactoryData(final int bufferSize, final Class<? extends
AbstractLogEventWrapperEntity> entityClass,
final Constructor<? extends
AbstractLogEventWrapperEntity> entityConstructor,
- final String persistenceUnitName) {
- super(bufferSize, null);
+ final String persistenceUnitName, final
Configuration configuration) {
+ super(configuration, bufferSize, null);
this.entityClass = entityClass;
this.entityConstructor = entityConstructor;
@@ -186,7 +188,8 @@ public final class JpaDatabaseManager extends
AbstractDatabaseManager {
@Override
public JpaDatabaseManager createManager(final String name, final
FactoryData data) {
return new JpaDatabaseManager(
- name, data.getBufferSize(), data.entityClass,
data.entityConstructor, data.persistenceUnitName
+ name, data.getBufferSize(), data.entityClass,
data.entityConstructor, data.persistenceUnitName,
+ data.getConfiguration()
);
}
}
diff --git
a/log4j-jpa/src/test/java/org/apache/logging/log4j/jpa/appender/JpaHsqldbAppenderTest.java
b/log4j-jpa/src/test/java/org/apache/logging/log4j/jpa/appender/JpaHsqldbAppenderTest.java
index 69fd464c22..797fdab8ee 100644
---
a/log4j-jpa/src/test/java/org/apache/logging/log4j/jpa/appender/JpaHsqldbAppenderTest.java
+++
b/log4j-jpa/src/test/java/org/apache/logging/log4j/jpa/appender/JpaHsqldbAppenderTest.java
@@ -22,6 +22,8 @@ import java.sql.SQLException;
import java.sql.Statement;
import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.config.Configuration;
+import org.apache.logging.log4j.core.config.NullConfiguration;
import org.apache.logging.log4j.core.test.categories.Appenders;
import org.apache.logging.log4j.util.Strings;
import org.junit.Test;
@@ -34,6 +36,8 @@ public class JpaHsqldbAppenderTest extends
AbstractJpaAppenderTest {
private static final String USER_ID = "sa";
private static final String PASSWORD = Strings.EMPTY;
+ private final Configuration configuration = new NullConfiguration();
+
public JpaHsqldbAppenderTest() {
super("hsqldb");
}
@@ -62,7 +66,7 @@ public class JpaHsqldbAppenderTest extends
AbstractJpaAppenderTest {
@Test
public void testNoEntityClassName() {
- final JpaAppender appender = JpaAppender.createAppender("name", null,
null, null, null, "jpaAppenderTestUnit");
+ final JpaAppender appender = JpaAppender.createAppender("name", null,
null, null, null, "jpaAppenderTestUnit", configuration);
assertNull("The appender should be null.", appender);
}
@@ -70,7 +74,7 @@ public class JpaHsqldbAppenderTest extends
AbstractJpaAppenderTest {
@Test
public void testNoPersistenceUnitName() {
final JpaAppender appender = JpaAppender.createAppender("name", null,
null, null, TestBaseEntity.class.getName(),
- null);
+ null, configuration);
assertNull("The appender should be null.", appender);
}
@@ -78,7 +82,7 @@ public class JpaHsqldbAppenderTest extends
AbstractJpaAppenderTest {
@Test
public void testBadEntityClassName() {
final JpaAppender appender = JpaAppender.createAppender("name", null,
null, null, "com.foo.Bar",
- "jpaAppenderTestUnit");
+ "jpaAppenderTestUnit", configuration);
assertNull("The appender should be null.", appender);
}
@@ -86,7 +90,7 @@ public class JpaHsqldbAppenderTest extends
AbstractJpaAppenderTest {
@Test
public void testNonLogEventEntity() {
final JpaAppender appender = JpaAppender.createAppender("name", null,
null, null, Object.class.getName(),
- "jpaAppenderTestUnit");
+ "jpaAppenderTestUnit", configuration);
assertNull("The appender should be null.", appender);
}
@@ -94,7 +98,7 @@ public class JpaHsqldbAppenderTest extends
AbstractJpaAppenderTest {
@Test
public void testBadConstructorEntity01() {
final JpaAppender appender = JpaAppender.createAppender("name", null,
null, null,
- BadConstructorEntity1.class.getName(), "jpaAppenderTestUnit");
+ BadConstructorEntity1.class.getName(), "jpaAppenderTestUnit",
configuration);
assertNull("The appender should be null.", appender);
}
@@ -102,7 +106,7 @@ public class JpaHsqldbAppenderTest extends
AbstractJpaAppenderTest {
@Test
public void testBadConstructorEntity02() {
final JpaAppender appender = JpaAppender.createAppender("name", null,
null, null,
- BadConstructorEntity2.class.getName(), "jpaAppenderTestUnit");
+ BadConstructorEntity2.class.getName(), "jpaAppenderTestUnit",
configuration);
assertNull("The appender should be null.", appender);
}
diff --git
a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayout.java
b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayout.java
index 6a732ecc6d..059c18da35 100644
---
a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayout.java
+++
b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/JsonTemplateLayout.java
@@ -35,7 +35,6 @@ import
org.apache.logging.log4j.core.layout.ByteBufferDestination;
import org.apache.logging.log4j.core.layout.Encoder;
import org.apache.logging.log4j.core.layout.TextEncoderHelper;
import org.apache.logging.log4j.core.util.Constants;
-import org.apache.logging.log4j.core.util.StringEncoder;
import org.apache.logging.log4j.layout.template.json.resolver.*;
import org.apache.logging.log4j.layout.template.json.util.JsonWriter;
import org.apache.logging.log4j.layout.template.json.util.Recycler;
@@ -258,7 +257,10 @@ public class JsonTemplateLayout implements StringLayout {
@Override
public byte[] toByteArray(final LogEvent event) {
final String eventJson = toSerializable(event);
- return StringEncoder.toBytes(eventJson, charset);
+ if (eventJson != null) {
+ return eventJson.getBytes(charset != null ? charset :
Charset.defaultCharset());
+ }
+ return null;
}
@Override
diff --git
a/log4j-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpManager.java
b/log4j-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpManager.java
index e3cdc7c9a5..530a1f6fd8 100644
---
a/log4j-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpManager.java
+++
b/log4j-smtp/src/main/java/org/apache/logging/log4j/smtp/appender/SmtpManager.java
@@ -273,23 +273,12 @@ public class SmtpManager extends AbstractManager {
return mp;
}
- /**
- * @deprecated Please use the {@link #sendMultipartMessage(MimeMessage,
MimeMultipart, String)} method instead.
- */
- @Deprecated
- protected void sendMultipartMessage(final MimeMessage msg, final
MimeMultipart mp) throws MessagingException {
- synchronized (msg) {
- msg.setContent(mp);
- msg.setSentDate(new Date());
- Transport.send(msg);
- }
- }
-
@SuppressFBWarnings(
value = "SMTP_HEADER_INJECTION",
justification = "False positive, since MimeMessage#setSubject does
actually escape new lines."
)
- protected void sendMultipartMessage(final MimeMessage msg, final
MimeMultipart mp, final String subject) throws MessagingException {synchronized
(msg) {
+ protected void sendMultipartMessage(final MimeMessage msg, final
MimeMultipart mp, final String subject) throws MessagingException {
+ synchronized (msg) {
msg.setContent(mp);
msg.setSentDate(new Date());
msg.setSubject(subject);
diff --git
a/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java
b/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java
index e6f3a69370..c34c2f281f 100644
--- a/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java
+++ b/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java
@@ -308,7 +308,7 @@ public class SLF4JLogger extends AbstractLogger {
@Override
protected LogBuilder getLogBuilder(final Level level) {
final SLF4JLogBuilder builder = logBuilder.get();
- return Constants.ENABLE_THREADLOCALS && !builder.isInUse() ?
builder.reset(this, level)
+ return Constants.isThreadLocalsEnabled() && !builder.isInUse() ?
builder.reset(this, level)
: new SLF4JLogBuilder(this, level);
}
diff --git
a/log4j-web/src/main/java/org/apache/logging/log4j/web/ServletRequestThreadContext.java
b/log4j-web/src/main/java/org/apache/logging/log4j/web/ServletRequestThreadContext.java
deleted file mode 100644
index c6706f1ea7..0000000000
---
a/log4j-web/src/main/java/org/apache/logging/log4j/web/ServletRequestThreadContext.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * 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.web;
-
-import java.util.Objects;
-
-import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
-
-import org.apache.logging.log4j.ThreadContext;
-
-@Deprecated // use WebLookup
-public class ServletRequestThreadContext {
-
- public static void put(final String key, final ServletRequest
servletRequest) {
- put(key, "RemoteAddr", servletRequest.getRemoteAddr());
- put(key, "RemoteHost", servletRequest.getRemoteHost());
- put(key, "RemotePort", servletRequest.getRemotePort());
- }
-
- public static void put(final String key, final String field, final Object
value) {
- put(key + "." + field, Objects.toString(value));
- }
-
- public static void put(final String key, final String value) {
- ThreadContext.put(key, value);
- }
-
- public static void put(final String key, final HttpServletRequest
servletRequest) {
- put(key, (ServletRequest) servletRequest);
- }
-}