From e3122fc1d8c9b390f30c083c833a04c3b4ebba00 Mon Sep 17 00:00:00 2001 From: JWT Date: Wed, 8 Jan 2025 00:58:44 +0100 Subject: [PATCH 1/8] Fix typo in method name 'withtFilter' in LoggerConfig.RootLogger.Builder (#3369) Deprecated LoggerConfig.RootLogger.Builder#withtFilter(Filter). Added LoggerConfig.RoottLogger.Builder#withFilter(Filtter) --- .../apache/logging/log4j/core/config/LoggerConfig.java | 9 +++++++++ 1 file changed, 9 insertions(+) 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 7cad00404b1..d24dd089731 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 @@ -936,11 +936,20 @@ public Filter getFilter() { return filter; } + /** + * @deprecated Use {@link #withFilter(Filter)} instead + */ + @Deprecated public B withtFilter(final Filter filter) { this.filter = filter; return asBuilder(); } + public B withFilter(final Filter filterr) { + this.filter = filter; + return asBuilder(); + } + @Override public LoggerConfig build() { final LevelAndRefs container = LoggerConfig.getLevelAndRefs(level, refs, levelAndRefs, config); From 7bccbedabdf9ffd89207afca4adb9c59367766ee Mon Sep 17 00:00:00 2001 From: JWT Date: Wed, 8 Jan 2025 01:02:07 +0100 Subject: [PATCH 2/8] Fixed minor typo in last change (#3369) --- .../java/org/apache/logging/log4j/core/config/LoggerConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 d24dd089731..e974ab273f0 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 @@ -945,7 +945,7 @@ public B withtFilter(final Filter filter) { return asBuilder(); } - public B withFilter(final Filter filterr) { + public B withFilter(final Filter filter) { this.filter = filter; return asBuilder(); } From 3c4494333e6fd13488ae86838386bb927d058aff Mon Sep 17 00:00:00 2001 From: JWT Date: Tue, 11 Feb 2025 20:00:29 +0100 Subject: [PATCH 3/8] Added changelog entry and fixed spotless errors (#3369) + properly delegated from deprecated method to new method + updated affected package-info versions for baseline --- .../apache/logging/log4j/core/async/package-info.java | 2 +- .../logging/log4j/core/config/LoggerConfig.java | 7 +++---- .../logging/log4j/core/config/package-info.java | 2 +- .../org/apache/logging/log4j/core/package-info.java | 2 +- .../3369_fix_typo_in_RootLogger_Builder_method.xml | 11 +++++++++++ 5 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 src/changelog/2.25.0/3369_fix_typo_in_RootLogger_Builder_method.xml diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/package-info.java index 6eed83a54e9..abf19fcd6f4 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/package-info.java @@ -18,7 +18,7 @@ * Provides Asynchronous Logger classes and interfaces for low-latency logging. */ @Export -@Version("2.24.1") +@Version("2.25.0") package org.apache.logging.log4j.core.async; import org.osgi.annotation.bundle.Export; 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 e974ab273f0..eebb794165b 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 @@ -217,8 +217,7 @@ public Filter getFilter() { */ @Deprecated public B withtFilter(final Filter filter) { - this.filter = filter; - return asBuilder(); + return withFilter(filter); } public B withFilter(final Filter filter) { @@ -937,8 +936,8 @@ public Filter getFilter() { } /** - * @deprecated Use {@link #withFilter(Filter)} instead - */ + * @deprecated Use {@link #withFilter(Filter)} instead + */ @Deprecated public B withtFilter(final Filter filter) { this.filter = filter; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/package-info.java index 111d1644f68..3db1c7abd6b 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/package-info.java @@ -18,7 +18,7 @@ * Configuration of Log4j 2. */ @Export -@Version("2.24.1") +@Version("2.25.0") package org.apache.logging.log4j.core.config; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/package-info.java index 00552976b76..171f9c7e78d 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/package-info.java @@ -18,7 +18,7 @@ * Implementation of Log4j 2. */ @Export -@Version("2.24.2") +@Version("2.25.0") package org.apache.logging.log4j.core; import org.osgi.annotation.bundle.Export; diff --git a/src/changelog/2.25.0/3369_fix_typo_in_RootLogger_Builder_method.xml b/src/changelog/2.25.0/3369_fix_typo_in_RootLogger_Builder_method.xml new file mode 100644 index 00000000000..2d0a8dd3494 --- /dev/null +++ b/src/changelog/2.25.0/3369_fix_typo_in_RootLogger_Builder_method.xml @@ -0,0 +1,11 @@ + + + + + Fixed typo in "LoggerConfig.RootLogger.Builder#withtFilter(...)" method. + Created new corrected 'withFilter()' method and deprecated old method. + + From d496f03f93a28649f24b721e9981f0de47778f11 Mon Sep 17 00:00:00 2001 From: JWT Date: Sun, 16 Feb 2025 20:31:38 +0100 Subject: [PATCH 4/8] Corrections per PR code-review (#3369). * switched tests to use Builders instead of createLogger * changed new LoggerConig.RootLogger.Builder#withFilter to LoggerConfig.RootLogger.Builder#setFilter * deprecated LoggerConfig.Builder.withFilter and added LoggerConig.Builder.setFilter * moved changelog to correct .2.x.x directory --- .../core/async/AsyncLoggerConfigTest.java | 2 +- .../core/config/CustomConfigurationTest.java | 18 ++++++++++++------ .../log4j/core/config/LoggerConfigTest.java | 13 +++++++++---- .../log4j/core/config/LoggerConfig.java | 17 +++++++++++------ ...9_fix_typo_in_RootLogger_Builder_method.xml | 0 5 files changed, 33 insertions(+), 17 deletions(-) rename src/changelog/{2.25.0 => .2.x.x}/3369_fix_typo_in_RootLogger_Builder_method.xml (100%) diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigTest.java index 77643204302..71cba0ffc8f 100644 --- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigTest.java +++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigTest.java @@ -100,7 +100,7 @@ void testSingleFilterInvocation() { .withLoggerName(FQCN) .withConfig(configuration) .withLevel(Level.INFO) - .withFilter(filter) + .setFilter(filter) .build(); final Appender appender = mock(Appender.class); when(appender.isStarted()).thenReturn(true); 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 d9893b7bc53..eb7ad4c298e 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 @@ -63,20 +63,26 @@ void testConfig(final LoggerContext ctx) { .withConfiguration(config) .build(); final FileAppender appender = FileAppender.newBuilder() - .withFileName(logFile.toString()) - .withAppend(false) - .setName("File") + .setBufferedIo(false) .setIgnoreExceptions(false) - .withBufferedIo(false) + .setName("File") .setLayout(layout) + .withAppend(false) + .withFileName(logFile.toString()) .build(); appender.start(); 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, "org.apache.logging.log4j", "true", refs, null, config, null); + final LoggerConfig loggerConfig = LoggerConfig.newBuilder() + .withConfig(config) + .withAdditivity(false) + .withIncludeLocation("true") + .withLevel(Level.INFO) + .withLoggerName("org.apache.logging.log4j") + .withRefs(refs) + .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/LoggerConfigTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/LoggerConfigTest.java index a1672d155b0..2b4b18e33bd 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 @@ -47,11 +47,16 @@ 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() + .withConfig(new NullConfiguration()) + .withAdditivity(true) + .withLevel(Level.INFO) + .withLoggerName("name") + .withIncludeLocation("false") + .withProperties(properties) + .build(); } - @SuppressWarnings({"deprecation"}) @Test void testPropertiesWithoutSubstitution() { assertNull(createForProperties(null).getPropertyList(), "null propertiesList"); @@ -129,7 +134,7 @@ void testSingleFilterInvocation() { .withLoggerName(FQCN) .withConfig(configuration) .withLevel(Level.INFO) - .withFilter(filter) + .setFilter(filter) .build(); final Appender appender = mock(Appender.class); when(appender.isStarted()).thenReturn(true); 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 eebb794165b..9dc953fcc7e 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 @@ -213,14 +213,20 @@ public Filter getFilter() { } /** - * @deprecated Use {@link #withFilter(Filter)} instead + * @deprecated Use {@link #setFilter(Filter)} instead */ @Deprecated public B withtFilter(final Filter filter) { - return withFilter(filter); + return setFilter(filter); } + /** @deprecated Use {@link #setFilter(Filter)} instead. */ + @Deprecated public B withFilter(final Filter filter) { + return setFilter(filter); + } + + public B setFilter(final Filter filter) { this.filter = filter; return asBuilder(); } @@ -936,15 +942,14 @@ public Filter getFilter() { } /** - * @deprecated Use {@link #withFilter(Filter)} instead + * @deprecated Use {@link #setFilter(Filter)} instead */ @Deprecated public B withtFilter(final Filter filter) { - this.filter = filter; - return asBuilder(); + return setFilter(filter); } - public B withFilter(final Filter filter) { + public B setFilter(final Filter filter) { this.filter = filter; return asBuilder(); } diff --git a/src/changelog/2.25.0/3369_fix_typo_in_RootLogger_Builder_method.xml b/src/changelog/.2.x.x/3369_fix_typo_in_RootLogger_Builder_method.xml similarity index 100% rename from src/changelog/2.25.0/3369_fix_typo_in_RootLogger_Builder_method.xml rename to src/changelog/.2.x.x/3369_fix_typo_in_RootLogger_Builder_method.xml From eb194f03985d0e94c6915cd27a8b591891a6af0f Mon Sep 17 00:00:00 2001 From: "Piotr P. Karwasz" Date: Sun, 25 May 2025 14:57:11 +0200 Subject: [PATCH 5/8] fix: restore version of unmodified packages --- .../java/org/apache/logging/log4j/core/async/package-info.java | 2 +- .../main/java/org/apache/logging/log4j/core/package-info.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/package-info.java index abf19fcd6f4..6eed83a54e9 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/package-info.java @@ -18,7 +18,7 @@ * Provides Asynchronous Logger classes and interfaces for low-latency logging. */ @Export -@Version("2.25.0") +@Version("2.24.1") package org.apache.logging.log4j.core.async; import org.osgi.annotation.bundle.Export; diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/package-info.java index 171f9c7e78d..00552976b76 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/package-info.java @@ -18,7 +18,7 @@ * Implementation of Log4j 2. */ @Export -@Version("2.25.0") +@Version("2.24.2") package org.apache.logging.log4j.core; import org.osgi.annotation.bundle.Export; From ba469c6a95998824b4ea0c4ec68532be516633d5 Mon Sep 17 00:00:00 2001 From: "Piotr P. Karwasz" Date: Sun, 25 May 2025 15:01:51 +0200 Subject: [PATCH 6/8] fix: add since information --- .../org/apache/logging/log4j/core/config/LoggerConfig.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 9dc953fcc7e..c1b7946058e 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 @@ -220,12 +220,13 @@ public B withtFilter(final Filter filter) { return setFilter(filter); } - /** @deprecated Use {@link #setFilter(Filter)} instead. */ + /** @deprecated since 2.25.0. Use {@link #setFilter(Filter)} instead. */ @Deprecated public B withFilter(final Filter filter) { return setFilter(filter); } + /** @since 2.25.0 */ public B setFilter(final Filter filter) { this.filter = filter; return asBuilder(); From f8b135387c44d9779fa63419d6050eeec93cd32a Mon Sep 17 00:00:00 2001 From: "Piotr P. Karwasz" Date: Sun, 25 May 2025 15:04:47 +0200 Subject: [PATCH 7/8] fix: add since info to `RootLogger.Builder` --- .../org/apache/logging/log4j/core/config/LoggerConfig.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 c1b7946058e..0a9be69d19a 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 @@ -943,13 +943,14 @@ public Filter getFilter() { } /** - * @deprecated Use {@link #setFilter(Filter)} instead + * @deprecated since 2.25.0. Use {@link #setFilter(Filter)} instead. */ @Deprecated public B withtFilter(final Filter filter) { return setFilter(filter); } + /** @since 2.25.0 */ public B setFilter(final Filter filter) { this.filter = filter; return asBuilder(); From 0ac15438905e2638aa8679b3a527734ec50c97be Mon Sep 17 00:00:00 2001 From: "Piotr P. Karwasz" Date: Sun, 25 May 2025 15:09:18 +0200 Subject: [PATCH 8/8] fix: bump version on `async` The `o.a.l.l.core.async` package was modified indirectly: `AsyncLoggerConfig` inherited the changes to `LoggerConfig`. --- .../java/org/apache/logging/log4j/core/async/package-info.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/package-info.java index 6eed83a54e9..abf19fcd6f4 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/package-info.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/package-info.java @@ -18,7 +18,7 @@ * Provides Asynchronous Logger classes and interfaces for low-latency logging. */ @Export -@Version("2.24.1") +@Version("2.25.0") package org.apache.logging.log4j.core.async; import org.osgi.annotation.bundle.Export;