You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by pk...@apache.org on 2025/06/26 17:46:46 UTC

(logging-log4j2) branch 2.x updated: Deprecate withers in 2.x in favor of setters (#3756)

This is an automated email from the ASF dual-hosted git repository.

pkarwasz pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/2.x by this push:
     new d6fe40d79a Deprecate withers in 2.x in favor of setters (#3756)
d6fe40d79a is described below

commit d6fe40d79afb39f4497fd1285a09e57940c08efd
Author: jhl221123 <11...@users.noreply.github.com>
AuthorDate: Fri Jun 27 02:46:40 2025 +0900

    Deprecate withers in 2.x in favor of setters (#3756)
    
    * Deprecate withers in 2.x in favor of setters
    
    * Standardize on set methods and update related documentation
    
    * Bump OSGi version for the core.async package
---
 .../appender/DailyRollingFileAppenderBuilder.java  |  16 +-
 .../EnhancedRollingFileAppenderBuilder.java        |  12 +-
 .../builders/appender/FileAppenderBuilder.java     |   4 +-
 .../appender/RollingFileAppenderBuilder.java       |  16 +-
 .../log4j/builders/layout/HtmlLayoutBuilder.java   |   4 +-
 .../builders/layout/PatternLayoutBuilder.java      |   4 +-
 .../log4j/builders/layout/SimpleLayoutBuilder.java |   8 +-
 .../log4j/builders/layout/TTCCLayoutBuilder.java   |   4 +-
 .../test/java/org/apache/log4j/CategoryTest.java   |   2 +-
 .../src/test/java/org/apache/log4j/LoggerTest.java |   2 +-
 .../log4j/layout/Log4j1SyslogLayoutTest.java       |   2 +-
 .../log4j/core/appender/ConsoleAppenderTest.java   |   2 +-
 .../core/appender/FileAppenderBuilderTest.java     |   4 +-
 .../core/appender/FileAppenderPermissionsTest.java |  30 +--
 .../log4j/core/appender/FileAppenderTest.java      |  32 +--
 .../log4j/core/appender/InMemoryAppenderTest.java  |   4 +-
 .../core/appender/OutputStreamAppenderTest.java    |   8 +-
 .../core/appender/ReconfigureAppenderTest.java     |  18 +-
 .../appender/rolling/CronTriggeringPolicyTest.java |  16 +-
 .../rolling/OnStartupTriggeringPolicyTest.java     |  10 +-
 ...llingAppenderDirectWriteWithHtmlLayoutTest.java |  10 +-
 .../appender/rolling/RollingAppenderSizeTest.java  |   8 +-
 .../rolling/RollingFileAppenderAccessTest.java     |   6 +-
 .../rolling/RollingFileAppenderLayoutTest.java     |   8 +-
 .../appender/rolling/RollingFileManagerTest.java   |   8 +-
 .../RollingRandomAccessFileManagerTest.java        |  10 +-
 .../log4j/core/async/AsyncLoggerConfigTest.java    |  12 +-
 .../async/AsyncWaitStrategyFactoryConfigTest.java  |   4 +-
 .../log4j/core/config/CustomConfigurationTest.java |  20 +-
 .../log4j/core/config/JiraLog4j2_2134Test.java     |   8 +-
 .../log4j/core/config/LoggerConfigTest.java        |  38 ++--
 .../AbstractPluginWithGenericBuilder.java          |   2 +-
 .../PluginWithGenericSubclassFoo1Builder.java      |   2 +-
 .../plugins/validation/ValidatingPlugin.java       |   2 +-
 .../ValidatingPluginWithGenericBuilder.java        |   2 +-
 .../ValidatingPluginWithTypedBuilder.java          |   2 +-
 .../logging/log4j/core/layout/HtmlLayoutTest.java  |   4 +-
 .../PatternLayoutDefaultExceptionHandlerTest.java  |   6 +-
 .../log4j/core/layout/PatternLayoutTest.java       | 130 ++++++------
 .../log4j/core/layout/PatternSelectorTest.java     |   8 +-
 .../log4j/core/appender/AbstractAppender.java      |   4 +-
 .../log4j/core/appender/AbstractFileAppender.java  | 108 ++++++++++
 .../logging/log4j/core/appender/AppenderSet.java   |  28 ++-
 .../logging/log4j/core/appender/FileAppender.java  | 124 ++++++++++-
 .../core/appender/MemoryMappedFileAppender.java    |   2 +-
 .../core/appender/RandomAccessFileAppender.java    |   6 +-
 .../log4j/core/appender/RollingFileAppender.java   | 176 ++++++++++++++--
 .../appender/RollingRandomAccessFileAppender.java  | 150 +++++++++++--
 .../core/appender/ScriptAppenderSelector.java      |  56 ++++-
 .../log4j/core/appender/db/ColumnMapping.java      |   6 +-
 .../log4j/core/appender/db/jdbc/ColumnConfig.java  |   6 +-
 .../logging/log4j/core/appender/package-info.java  |   2 +-
 .../appender/rolling/DefaultRolloverStrategy.java  | 124 +++++++++--
 .../rolling/DirectWriteRolloverStrategy.java       |  96 +++++++--
 .../rolling/TimeBasedTriggeringPolicy.java         |  40 +++-
 .../rolling/action/PosixViewAttributeAction.java   | 118 ++++++++++-
 .../core/appender/rolling/action/package-info.java |   2 +-
 .../log4j/core/appender/rolling/package-info.java  |   2 +-
 .../log4j/core/appender/routing/Routes.java        |  56 ++++-
 .../core/appender/routing/RoutingAppender.java     |  55 ++++-
 .../log4j/core/appender/routing/package-info.java  |   2 +-
 .../core/async/AsyncWaitStrategyFactoryConfig.java |  13 ++
 .../logging/log4j/core/async/package-info.java     |   2 +-
 .../logging/log4j/core/config/LoggerConfig.java    | 234 ++++++++++++++++++---
 .../logging/log4j/core/config/package-info.java    |   2 +-
 .../config/plugins/processor/PluginProcessor.java  |   5 +-
 .../logging/log4j/core/layout/GelfLayout.java      |  12 +-
 .../logging/log4j/core/layout/HtmlLayout.java      |  84 +++++++-
 .../logging/log4j/core/layout/PatternLayout.java   | 141 +++++++++++--
 .../logging/log4j/core/layout/package-info.java    |   2 +-
 .../template/json/resolver/PatternResolver.java    |   8 +-
 .../log4j/perf/jmh/ThreadContextBenchmark2.java    |   8 +-
 .../InstantPatternFormatterImpactBenchmark.java    |   6 +-
 .../logging/log4j/perf/nogc/ClassicLogger.java     |   4 +-
 src/changelog/.2.x.x/3750_deprecate_withers.xml    |  12 ++
 75 files changed, 1742 insertions(+), 442 deletions(-)

diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/DailyRollingFileAppenderBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/DailyRollingFileAppenderBuilder.java
index 3e2a58e5a0..4920aaa80a 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/DailyRollingFileAppenderBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/DailyRollingFileAppenderBuilder.java
@@ -180,25 +180,25 @@ public class DailyRollingFileAppenderBuilder extends AbstractBuilder implements
         }
         final String filePattern = fileName + "%d{" + datePattern + "}";
         final TriggeringPolicy timePolicy =
-                TimeBasedTriggeringPolicy.newBuilder().withModulate(true).build();
+                TimeBasedTriggeringPolicy.newBuilder().setModulate(true).build();
         final TriggeringPolicy policy = CompositeTriggeringPolicy.createPolicy(timePolicy);
         final RolloverStrategy strategy = DefaultRolloverStrategy.newBuilder()
-                .withConfig(configuration)
-                .withMax(Integer.toString(Integer.MAX_VALUE))
+                .setConfig(configuration)
+                .setMax(Integer.toString(Integer.MAX_VALUE))
                 .build();
         return AppenderWrapper.adapt(RollingFileAppender.newBuilder()
                 .setName(name)
                 .setConfiguration(configuration)
                 .setLayout(fileLayout)
                 .setFilter(fileFilter)
-                .withFileName(fileName)
-                .withAppend(append)
+                .setFileName(fileName)
+                .setAppend(append)
                 .setBufferedIo(bufferedIo)
                 .setBufferSize(bufferSize)
                 .setImmediateFlush(immediateFlush)
-                .withFilePattern(filePattern)
-                .withPolicy(policy)
-                .withStrategy(strategy)
+                .setFilePattern(filePattern)
+                .setPolicy(policy)
+                .setStrategy(strategy)
                 .build());
     }
 }
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/EnhancedRollingFileAppenderBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/EnhancedRollingFileAppenderBuilder.java
index d4eb24500a..26377e7d1b 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/EnhancedRollingFileAppenderBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/EnhancedRollingFileAppenderBuilder.java
@@ -259,7 +259,7 @@ public class EnhancedRollingFileAppenderBuilder extends AbstractBuilder<Appender
         final DefaultRolloverStrategy.Builder rolloverStrategyBuilder = DefaultRolloverStrategy.newBuilder();
         switch (rollingPolicyClassName) {
             case FIXED_WINDOW_ROLLING_POLICY:
-                rolloverStrategyBuilder.withMin(Integer.toString(minIndex)).withMax(Integer.toString(maxIndex));
+                rolloverStrategyBuilder.setMin(Integer.toString(minIndex)).setMax(Integer.toString(maxIndex));
                 break;
             case TIME_BASED_ROLLING_POLICY:
                 break;
@@ -276,18 +276,18 @@ public class EnhancedRollingFileAppenderBuilder extends AbstractBuilder<Appender
             return null;
         }
         return AppenderWrapper.adapt(RollingFileAppender.newBuilder()
-                .withAppend(append)
+                .setAppend(append)
                 .setBufferedIo(bufferedIo)
                 .setBufferSize(bufferedIo ? bufferSize : 0)
                 .setConfiguration(configuration)
-                .withFileName(actualFileName)
-                .withFilePattern(fileNamePattern)
+                .setFileName(actualFileName)
+                .setFilePattern(fileNamePattern)
                 .setFilter(fileFilter)
                 .setImmediateFlush(actualImmediateFlush)
                 .setLayout(fileLayout)
                 .setName(name)
-                .withPolicy(actualTriggeringPolicy)
-                .withStrategy(rolloverStrategyBuilder.build())
+                .setPolicy(actualTriggeringPolicy)
+                .setStrategy(rolloverStrategyBuilder.build())
                 .build());
     }
 }
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/FileAppenderBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/FileAppenderBuilder.java
index afab23d1f7..9d1f29a962 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/FileAppenderBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/FileAppenderBuilder.java
@@ -158,9 +158,9 @@ public class FileAppenderBuilder extends AbstractBuilder implements AppenderBuil
                 .setConfiguration(configuration)
                 .setLayout(fileLayout)
                 .setFilter(fileFilter)
-                .withFileName(fileName)
+                .setFileName(fileName)
                 .setImmediateFlush(immediateFlush)
-                .withAppend(append)
+                .setAppend(append)
                 .setBufferedIo(bufferedIo)
                 .setBufferSize(bufferSize)
                 .build());
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/RollingFileAppenderBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/RollingFileAppenderBuilder.java
index 6692a58f0c..7224382966 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/RollingFileAppenderBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/appender/RollingFileAppenderBuilder.java
@@ -188,23 +188,23 @@ public class RollingFileAppenderBuilder extends AbstractBuilder implements Appen
         final SizeBasedTriggeringPolicy sizePolicy = SizeBasedTriggeringPolicy.createPolicy(maxSize);
         final CompositeTriggeringPolicy policy = CompositeTriggeringPolicy.createPolicy(sizePolicy);
         final RolloverStrategy strategy = DefaultRolloverStrategy.newBuilder()
-                .withConfig(config)
-                .withMax(maxBackups)
-                .withFileIndex("min")
+                .setConfig(config)
+                .setMax(maxBackups)
+                .setFileIndex("min")
                 .build();
         return AppenderWrapper.adapt(RollingFileAppender.newBuilder()
                 .setName(name)
                 .setConfiguration(config)
                 .setLayout(fileLayout)
                 .setFilter(fileFilter)
-                .withAppend(append)
+                .setAppend(append)
                 .setBufferedIo(bufferedIo)
                 .setBufferSize(bufferSize)
                 .setImmediateFlush(immediateFlush)
-                .withFileName(fileName)
-                .withFilePattern(filePattern)
-                .withPolicy(policy)
-                .withStrategy(strategy)
+                .setFileName(fileName)
+                .setFilePattern(filePattern)
+                .setPolicy(policy)
+                .setStrategy(strategy)
                 .build());
     }
 }
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/HtmlLayoutBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/HtmlLayoutBuilder.java
index fda5d980c7..5ece07d630 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/HtmlLayoutBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/HtmlLayoutBuilder.java
@@ -73,8 +73,8 @@ public class HtmlLayoutBuilder extends AbstractBuilder<Layout> implements Layout
 
     private Layout createLayout(final String title, final boolean locationInfo) {
         return LayoutWrapper.adapt(HtmlLayout.newBuilder()
-                .withTitle(title)
-                .withLocationInfo(locationInfo)
+                .setTitle(title)
+                .setLocationInfo(locationInfo)
                 .build());
     }
 }
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/PatternLayoutBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/PatternLayoutBuilder.java
index 2e1aab0eba..9eaffb4bc0 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/PatternLayoutBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/PatternLayoutBuilder.java
@@ -83,7 +83,7 @@ public class PatternLayoutBuilder extends AbstractBuilder<Layout> implements Lay
             pattern = PatternLayout.DEFAULT_CONVERSION_PATTERN;
         }
         return LayoutWrapper.adapt(PatternLayout.newBuilder()
-                .withPattern(pattern
+                .setPattern(pattern
                         // Log4j 2 and Log4j 1 level names differ for custom levels
                         .replaceAll("%([-\\.\\d]*)p(?!\\w)", "%$1v1Level")
                         // Log4j 2's %x (NDC) is not compatible with Log4j 1's
@@ -99,7 +99,7 @@ public class PatternLayoutBuilder extends AbstractBuilder<Layout> implements Lay
                         // Log4j 2: "{foo=bar,hoo=boo}"
                         // Use %properties to get the Log4j 1 format
                         .replaceAll("%([-\\.\\d]*)X(?!\\w)", "%$1properties"))
-                .withConfiguration(config)
+                .setConfiguration(config)
                 .build());
     }
 }
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/SimpleLayoutBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/SimpleLayoutBuilder.java
index 8c035c3504..7b16e54d87 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/SimpleLayoutBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/SimpleLayoutBuilder.java
@@ -35,16 +35,16 @@ public class SimpleLayoutBuilder implements LayoutBuilder {
     @Override
     public Layout parse(final Element layoutElement, final XmlConfiguration config) {
         return new LayoutWrapper(PatternLayout.newBuilder()
-                .withPattern("%v1Level - %m%n")
-                .withConfiguration(config)
+                .setPattern("%v1Level - %m%n")
+                .setConfiguration(config)
                 .build());
     }
 
     @Override
     public Layout parse(final PropertiesConfiguration config) {
         return new LayoutWrapper(PatternLayout.newBuilder()
-                .withPattern("%v1Level - %m%n")
-                .withConfiguration(config)
+                .setPattern("%v1Level - %m%n")
+                .setConfiguration(config)
                 .build());
     }
 }
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/TTCCLayoutBuilder.java b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/TTCCLayoutBuilder.java
index 8f5c5b1899..ae07ff3948 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/TTCCLayoutBuilder.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/builders/layout/TTCCLayoutBuilder.java
@@ -130,8 +130,8 @@ public class TTCCLayoutBuilder extends AbstractBuilder<Layout> implements Layout
         }
         sb.append("- %m%n");
         return LayoutWrapper.adapt(PatternLayout.newBuilder()
-                .withPattern(sb.toString())
-                .withConfiguration(config)
+                .setPattern(sb.toString())
+                .setConfiguration(config)
                 .build());
     }
 }
diff --git a/log4j-1.2-api/src/test/java/org/apache/log4j/CategoryTest.java b/log4j-1.2-api/src/test/java/org/apache/log4j/CategoryTest.java
index 1604f82c2a..6dd7305c07 100644
--- a/log4j-1.2-api/src/test/java/org/apache/log4j/CategoryTest.java
+++ b/log4j-1.2-api/src/test/java/org/apache/log4j/CategoryTest.java
@@ -239,7 +239,7 @@ class CategoryTest {
     void testClassName() {
         final Category category = Category.getInstance("TestCategory");
         final Layout<String> layout =
-                PatternLayout.newBuilder().withPattern("%d %p %C{1.} [%t] %m%n").build();
+                PatternLayout.newBuilder().setPattern("%d %p %C{1.} [%t] %m%n").build();
         final ListAppender appender = new ListAppender("List2", null, layout, false, false);
         appender.start();
         category.setAdditivity(false);
diff --git a/log4j-1.2-api/src/test/java/org/apache/log4j/LoggerTest.java b/log4j-1.2-api/src/test/java/org/apache/log4j/LoggerTest.java
index da85712103..f1f93599d8 100644
--- a/log4j-1.2-api/src/test/java/org/apache/log4j/LoggerTest.java
+++ b/log4j-1.2-api/src/test/java/org/apache/log4j/LoggerTest.java
@@ -477,7 +477,7 @@ class LoggerTest {
     @SuppressWarnings("deprecation")
     void testLog() {
         final PatternLayout layout =
-                PatternLayout.newBuilder().withPattern("%d %C %L %m").build();
+                PatternLayout.newBuilder().setPattern("%d %C %L %m").build();
         final ListAppender appender = new ListAppender("List", null, layout, false, false);
         appender.start();
         final Logger root = Logger.getRootLogger();
diff --git a/log4j-1.2-api/src/test/java/org/apache/log4j/layout/Log4j1SyslogLayoutTest.java b/log4j-1.2-api/src/test/java/org/apache/log4j/layout/Log4j1SyslogLayoutTest.java
index b19382edd3..e684c3a5b9 100644
--- a/log4j-1.2-api/src/test/java/org/apache/log4j/layout/Log4j1SyslogLayoutTest.java
+++ b/log4j-1.2-api/src/test/java/org/apache/log4j/layout/Log4j1SyslogLayoutTest.java
@@ -78,7 +78,7 @@ class Log4j1SyslogLayoutTest {
                 .build();
         assertEquals(expected, appenderLayout.toSerializable(logEvent));
         final StringLayout messageLayout =
-                PatternLayout.newBuilder().withPattern("%m").build();
+                PatternLayout.newBuilder().setPattern("%m").build();
         appenderLayout = Log4j1SyslogLayout.newBuilder()
                 .setFacility(facility)
                 .setHeader(header)
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
index 87b4a5077a..e5ddab6eaf 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ConsoleAppenderTest.java
@@ -92,7 +92,7 @@ class ConsoleAppenderTest {
         try {
             systemSetter.systemSet(psMock);
             final Layout<String> layout =
-                    PatternLayout.newBuilder().withAlwaysWriteExceptions(true).build();
+                    PatternLayout.newBuilder().setAlwaysWriteExceptions(true).build();
             final ConsoleAppender app = ConsoleAppender.newBuilder()
                     .setLayout(layout)
                     .setTarget(targetName)
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/FileAppenderBuilderTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/FileAppenderBuilderTest.java
index 718349e1f3..b4fdfc0347 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/FileAppenderBuilderTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/FileAppenderBuilderTest.java
@@ -67,7 +67,7 @@ class FileAppenderBuilderTest {
             assertNull(appender);
             assertTrue(counter.getAndSet(0) > 0);
             appender = FileAppender.newBuilder()
-                    .withFileName("target/FileAppenderBuilderTest.log")
+                    .setFileName("target/FileAppenderBuilderTest.log")
                     .build();
             assertNull(appender);
             assertTrue(counter.getAndSet(0) > 0);
@@ -76,7 +76,7 @@ class FileAppenderBuilderTest {
             assertTrue(counter.getAndSet(0) > 0);
             appender = FileAppender.newBuilder()
                     .setName("FILE")
-                    .withFileName("target/FileAppenderBuilderTest.log")
+                    .setFileName("target/FileAppenderBuilderTest.log")
                     .build();
             assertNotNull(appender);
             assertEquals(0, counter.get());
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/FileAppenderPermissionsTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/FileAppenderPermissionsTest.java
index 1ebf7cbacf..6e3118628f 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/FileAppenderPermissionsTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/FileAppenderPermissionsTest.java
@@ -70,19 +70,19 @@ class FileAppenderPermissionsTest {
         final File file = new File(DIR, "AppenderTest-" + fileIndex + ".log");
         final Path path = file.toPath();
         final Layout<String> layout = PatternLayout.newBuilder()
-                .withPattern(PatternLayout.SIMPLE_CONVERSION_PATTERN)
+                .setPattern(PatternLayout.SIMPLE_CONVERSION_PATTERN)
                 .build();
         // @formatter:off
         final FileAppender appender = FileAppender.newBuilder()
-                .withFileName(file.getAbsolutePath())
+                .setFileName(file.getAbsolutePath())
                 .setName("test")
-                .withImmediateFlush(false)
+                .setImmediateFlush(false)
                 .setIgnoreExceptions(false)
-                .withBufferedIo(false)
-                .withBufferSize(1)
+                .setBufferedIo(false)
+                .setBufferSize(1)
                 .setLayout(layout)
-                .withCreateOnDemand(createOnDemand)
-                .withFilePermissions(filePermissions)
+                .setCreateOnDemand(createOnDemand)
+                .setFilePermissions(filePermissions)
                 .build();
         // @formatter:on
         try {
@@ -130,20 +130,20 @@ class FileAppenderPermissionsTest {
         assertNotNull(group);
 
         final Layout<String> layout = PatternLayout.newBuilder()
-                .withPattern(PatternLayout.SIMPLE_CONVERSION_PATTERN)
+                .setPattern(PatternLayout.SIMPLE_CONVERSION_PATTERN)
                 .build();
         // @formatter:off
         final FileAppender appender = FileAppender.newBuilder()
-                .withFileName(file.getAbsolutePath())
+                .setFileName(file.getAbsolutePath())
                 .setName("test")
-                .withImmediateFlush(true)
+                .setImmediateFlush(true)
                 .setIgnoreExceptions(false)
-                .withBufferedIo(false)
-                .withBufferSize(1)
+                .setBufferedIo(false)
+                .setBufferSize(1)
                 .setLayout(layout)
-                .withFilePermissions(filePermissions)
-                .withFileOwner(user)
-                .withFileGroup(group)
+                .setFilePermissions(filePermissions)
+                .setFileOwner(user)
+                .setFileGroup(group)
                 .build();
         // @formatter:on
         try {
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/FileAppenderTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/FileAppenderTest.java
index 07221c2c81..2867c9a758 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/FileAppenderTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/FileAppenderTest.java
@@ -77,14 +77,14 @@ class FileAppenderTest {
         final Layout<String> layout = createPatternLayout();
         // @formatter:off
         final FileAppender appender = FileAppender.newBuilder()
-                .withFileName(FILE_NAME)
+                .setFileName(FILE_NAME)
                 .setName("test")
-                .withImmediateFlush(false)
+                .setImmediateFlush(false)
                 .setIgnoreExceptions(false)
-                .withBufferedIo(false)
-                .withBufferSize(1)
+                .setBufferedIo(false)
+                .setBufferSize(1)
                 .setLayout(layout)
-                .withCreateOnDemand(createOnDemand)
+                .setCreateOnDemand(createOnDemand)
                 .build();
         // @formatter:on
         assertEquals(createOnDemand, appender.getManager().isCreateOnDemand());
@@ -100,7 +100,7 @@ class FileAppenderTest {
 
     private static PatternLayout createPatternLayout() {
         return PatternLayout.newBuilder()
-                .withPattern(PatternLayout.SIMPLE_CONVERSION_PATTERN)
+                .setPattern(PatternLayout.SIMPLE_CONVERSION_PATTERN)
                 .build();
     }
 
@@ -110,14 +110,14 @@ class FileAppenderTest {
         final Layout<String> layout = createPatternLayout();
         // @formatter:off
         final FileAppender appender = FileAppender.newBuilder()
-                .withFileName(FILE_NAME)
+                .setFileName(FILE_NAME)
                 .setName("test")
-                .withImmediateFlush(false)
+                .setImmediateFlush(false)
                 .setIgnoreExceptions(false)
-                .withBufferedIo(false)
-                .withBufferSize(1)
+                .setBufferedIo(false)
+                .setBufferSize(1)
                 .setLayout(layout)
-                .withCreateOnDemand(createOnDemand)
+                .setCreateOnDemand(createOnDemand)
                 .build();
         // @formatter:on
         try {
@@ -243,14 +243,14 @@ class FileAppenderTest {
         final Layout<String> layout = createPatternLayout();
         // @formatter:off
         final FileAppender appender = FileAppender.newBuilder()
-                .withFileName(FILE_NAME)
+                .setFileName(FILE_NAME)
                 .setName("test")
-                .withImmediateFlush(false)
+                .setImmediateFlush(false)
                 .setIgnoreExceptions(false)
-                .withLocking(locking)
-                .withBufferedIo(false)
+                .setLocking(locking)
+                .setBufferedIo(false)
                 .setLayout(layout)
-                .withCreateOnDemand(createOnDemand)
+                .setCreateOnDemand(createOnDemand)
                 .build();
         // @formatter:on
         assertEquals(createOnDemand, appender.getManager().isCreateOnDemand());
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java
index 4bc0c53b76..cad32c266f 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/InMemoryAppenderTest.java
@@ -45,7 +45,7 @@ class InMemoryAppenderTest {
     @Test
     void testHeaderRequested() {
         final PatternLayout layout =
-                PatternLayout.newBuilder().withHeader("HEADERHEADER").build();
+                PatternLayout.newBuilder().setHeader("HEADERHEADER").build();
         final boolean writeHeader = true;
         final InMemoryAppender app = new InMemoryAppender("test", layout, null, false, writeHeader);
         final String expectedHeader = "HEADERHEADER";
@@ -55,7 +55,7 @@ class InMemoryAppenderTest {
     @Test
     void testHeaderSuppressed() {
         final PatternLayout layout =
-                PatternLayout.newBuilder().withHeader("HEADERHEADER").build();
+                PatternLayout.newBuilder().setHeader("HEADERHEADER").build();
         final boolean writeHeader = false;
         final InMemoryAppender app = new InMemoryAppender("test", layout, null, false, writeHeader);
         final String expectedHeader = null;
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamAppenderTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamAppenderTest.java
index ed09bc11d8..e54d97d652 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamAppenderTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/OutputStreamAppenderTest.java
@@ -108,12 +108,12 @@ class OutputStreamAppenderTest {
         final Configuration config = ctx.getConfiguration();
         // @formatter:off
         final Appender appender = FileAppender.newBuilder()
-                .withFileName("target/" + getClass().getName() + ".log")
-                .withAppend(false)
+                .setFileName("target/" + getClass().getName() + ".log")
+                .setAppend(false)
                 .setName("File")
                 .setIgnoreExceptions(false)
-                .withBufferedIo(false)
-                .withBufferSize(4000)
+                .setBufferedIo(false)
+                .setBufferSize(4000)
                 .setConfiguration(config)
                 .build();
         // @formatter:on
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ReconfigureAppenderTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ReconfigureAppenderTest.java
index 688ac30204..261c2a2f32 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ReconfigureAppenderTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/ReconfigureAppenderTest.java
@@ -142,19 +142,19 @@ class ReconfigureAppenderTest {
         final Logger logger = (Logger) LogManager.getLogger(this.getClass());
 
         final Builder pattern_builder =
-                PatternLayout.newBuilder().withPattern("[%d{dd-MM-yy HH:mm:ss}] %p %m %throwable %n");
+                PatternLayout.newBuilder().setPattern("[%d{dd-MM-yy HH:mm:ss}] %p %m %throwable %n");
 
         final PatternLayout pattern_layout = (PatternLayout) pattern_builder.build();
 
         appender = RollingFileAppender.newBuilder()
-                .withLayout(pattern_layout)
-                .withName("rollingfileappender")
-                .withFilePattern("target/filepattern.%i.log")
-                .withPolicy(SizeBasedTriggeringPolicy.createPolicy("5 MB"))
-                .withAppend(true)
-                .withStrategy(DirectWriteRolloverStrategy.newBuilder()
-                        .withConfig(logger_context.getConfiguration())
-                        .withMaxFiles("5")
+                .setLayout(pattern_layout)
+                .setName("rollingfileappender")
+                .setFilePattern("target/filepattern.%i.log")
+                .setPolicy(SizeBasedTriggeringPolicy.createPolicy("5 MB"))
+                .setAppend(true)
+                .setStrategy(DirectWriteRolloverStrategy.newBuilder()
+                        .setConfig(logger_context.getConfiguration())
+                        .setMaxFiles("5")
                         .build())
                 .setConfiguration(logger_context.getConfiguration())
                 .build();
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicyTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicyTest.java
index 1b6fc7edd8..65f3ccb910 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicyTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicyTest.java
@@ -53,10 +53,10 @@ class CronTriggeringPolicyTest {
         // @formatter:off
         final RollingFileAppender raf = RollingFileAppender.newBuilder()
                 .setName("test1")
-                .withFileName("target/testcmd1.log")
-                .withFilePattern("target/testcmd1.log.%d{yyyy-MM-dd}")
-                .withPolicy(createPolicy())
-                .withStrategy(createStrategy())
+                .setFileName("target/testcmd1.log")
+                .setFilePattern("target/testcmd1.log.%d{yyyy-MM-dd}")
+                .setPolicy(createPolicy())
+                .setStrategy(createStrategy())
                 .setConfiguration(configuration)
                 .build();
         // @formatter:on
@@ -89,10 +89,10 @@ class CronTriggeringPolicyTest {
         // @formatter:off
         RollingRandomAccessFileAppender.newBuilder()
                 .setName("test2")
-                .withFileName("target/testcmd2.log")
-                .withFilePattern("target/testcmd2.log.%d{yyyy-MM-dd}")
-                .withPolicy(createPolicy())
-                .withStrategy(createStrategy())
+                .setFileName("target/testcmd2.log")
+                .setFilePattern("target/testcmd2.log.%d{yyyy-MM-dd}")
+                .setPolicy(createPolicy())
+                .setStrategy(createStrategy())
                 .setConfiguration(configuration)
                 .build();
         // @formatter:on
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
index 7482047237..548cc1e507 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/OnStartupTriggeringPolicyTest.java
@@ -83,13 +83,13 @@ class OnStartupTriggeringPolicyTest {
         assumeTrue(creationTime.equals(fileTime) || creationTime.toMillis() == 0L);
 
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern("%msg")
-                .withConfiguration(configuration)
+                .setPattern("%msg")
+                .setConfiguration(configuration)
                 .build();
         final RolloverStrategy strategy = DefaultRolloverStrategy.newBuilder()
-                .withCompressionLevelStr("0")
-                .withStopCustomActionsOnError(true)
-                .withConfig(configuration)
+                .setCompressionLevelStr("0")
+                .setStopCustomActionsOnError(true)
+                .setConfig(configuration)
                 .build();
         final OnStartupTriggeringPolicy policy = OnStartupTriggeringPolicy.createPolicy(1);
 
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWriteWithHtmlLayoutTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWriteWithHtmlLayoutTest.java
index 887bee97e5..82d3c118ee 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWriteWithHtmlLayoutTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWriteWithHtmlLayoutTest.java
@@ -70,13 +70,13 @@ public class RollingAppenderDirectWriteWithHtmlLayoutTest {
         final Configuration config = loggerContextRule.getConfiguration();
         final RollingFileAppender appender = RollingFileAppender.newBuilder()
                 .setName("RollingHtml")
-                .withFilePattern(DIR + "/" + prefix + "_-%d{MM-dd-yy-HH-mm}-%i.html")
-                .withPolicy(new SizeBasedTriggeringPolicy(500))
-                .withStrategy(DirectWriteRolloverStrategy.newBuilder()
-                        .withConfig(config)
+                .setFilePattern(DIR + "/" + prefix + "_-%d{MM-dd-yy-HH-mm}-%i.html")
+                .setPolicy(new SizeBasedTriggeringPolicy(500))
+                .setStrategy(DirectWriteRolloverStrategy.newBuilder()
+                        .setConfig(config)
                         .build())
                 .setLayout(HtmlLayout.createDefaultLayout())
-                .withAppend(append)
+                .setAppend(append)
                 .build();
         boolean stopped = false;
         try {
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderSizeTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderSizeTest.java
index dc245af305..ea1dbc6e98 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderSizeTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderSizeTest.java
@@ -72,11 +72,11 @@ class RollingAppenderSizeTest {
                 folder.resolve("rollingtest-%i.log." + fileExtension).toString();
         final RollingFileAppender appender = RollingFileAppender.newBuilder()
                 .setName("RollingFile")
-                .withFileName(fileName)
-                .withFilePattern(filePattern)
+                .setFileName(fileName)
+                .setFilePattern(filePattern)
                 .setLayout(PatternLayout.createDefaultLayout())
-                .withPolicy(SizeBasedTriggeringPolicy.createPolicy("500"))
-                .withCreateOnDemand(createOnDemand)
+                .setPolicy(SizeBasedTriggeringPolicy.createPolicy("500"))
+                .setCreateOnDemand(createOnDemand)
                 .build();
         appender.start();
         return appender;
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderAccessTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderAccessTest.java
index 44a88a7c45..d2585fdf59 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderAccessTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderAccessTest.java
@@ -40,10 +40,10 @@ class RollingFileAppenderAccessTest {
             file.deleteOnExit();
             // @formatter:off
             final RollingFileAppender appender = RollingFileAppender.newBuilder()
-                    .withFileName(file.getCanonicalPath())
-                    .withFilePattern("FilePattern")
+                    .setFileName(file.getCanonicalPath())
+                    .setFilePattern("FilePattern")
                     .setName("Name")
-                    .withPolicy(OnStartupTriggeringPolicy.createPolicy(1))
+                    .setPolicy(OnStartupTriggeringPolicy.createPolicy(1))
                     .setConfiguration(config)
                     .build();
             // @formatter:on
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderLayoutTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderLayoutTest.java
index 7ac285ee90..6fa5e23f4a 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderLayoutTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileAppenderLayoutTest.java
@@ -30,10 +30,10 @@ class RollingFileAppenderLayoutTest {
         assertNotNull(RollingFileAppender.newBuilder()
                 .setName(RollingFileAppenderLayoutTest.class.getName())
                 .setConfiguration(new DefaultConfiguration())
-                .withFileName("log.txt")
-                .withFilePattern("FilePattern")
-                .withPolicy(OnStartupTriggeringPolicy.createPolicy(1))
-                .withCreateOnDemand(true) // no need to clutter up test folder with another file
+                .setFileName("log.txt")
+                .setFilePattern("FilePattern")
+                .setPolicy(OnStartupTriggeringPolicy.createPolicy(1))
+                .setCreateOnDemand(true) // no need to clutter up test folder with another file
                 .build()
                 .getLayout());
         // @formatter:on
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManagerTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManagerTest.java
index dfa94c3ffe..78784cfa75 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManagerTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManagerTest.java
@@ -82,11 +82,11 @@ class RollingFileManagerTest {
             file.deleteOnExit();
 
             final RollingFileAppender appender = RollingFileAppender.newBuilder()
-                    .withFilePattern("FilePattern")
+                    .setFilePattern("FilePattern")
                     .setName("RollingFileAppender")
                     .setConfiguration(config)
-                    .withStrategy(new CustomDirectFileRolloverStrategy(file, config.getConfigurationStrSubstitutor()))
-                    .withPolicy(new SizeBasedTriggeringPolicy(100))
+                    .setStrategy(new CustomDirectFileRolloverStrategy(file, config.getConfigurationStrSubstitutor()))
+                    .setPolicy(new SizeBasedTriggeringPolicy(100))
                     .build();
 
             assertNotNull(appender);
@@ -167,7 +167,7 @@ class RollingFileManagerTest {
                 false,
                 NoOpTriggeringPolicy.INSTANCE,
                 DirectWriteRolloverStrategy.newBuilder()
-                        .withConfig(configuration)
+                        .setConfig(configuration)
                         .build(),
                 null,
                 PatternLayout.createDefaultLayout(configuration),
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java
index e3aba8f258..5937242be6 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingRandomAccessFileManagerTest.java
@@ -300,11 +300,11 @@ class RollingRandomAccessFileManagerTest {
 
         // Create the manager.
         final RolloverStrategy rolloverStrategy = DefaultRolloverStrategy.newBuilder()
-                .withMax("7")
-                .withMin("1")
-                .withFileIndex("max")
-                .withStopCustomActionsOnError(false)
-                .withConfig(new DefaultConfiguration())
+                .setMax("7")
+                .setMin("1")
+                .setFileIndex("max")
+                .setStopCustomActionsOnError(false)
+                .setConfig(new DefaultConfiguration())
                 .build();
         final RollingRandomAccessFileManager manager = RollingRandomAccessFileManager.getRollingRandomAccessFileManager(
                 file.getAbsolutePath(),
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 71cba0ffc8..ab493c57dd 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
@@ -82,12 +82,12 @@ class AsyncLoggerConfigTest {
     void testIncludeLocationDefaultsToFalse() {
         final Configuration configuration = new NullConfiguration();
         final LoggerConfig rootLoggerConfig =
-                RootLogger.newAsyncRootBuilder().withConfig(configuration).build();
+                RootLogger.newAsyncRootBuilder().setConfig(configuration).build();
         assertFalse(rootLoggerConfig.isIncludeLocation(), "Include location should default to false for async loggers");
 
         final LoggerConfig loggerConfig = AsyncLoggerConfig.newAsyncBuilder()
-                .withConfig(configuration)
-                .withLoggerName("com.foo.Bar")
+                .setConfig(configuration)
+                .setLoggerName("com.foo.Bar")
                 .build();
         assertFalse(loggerConfig.isIncludeLocation(), "Include location should default to false for async loggers");
     }
@@ -97,9 +97,9 @@ class AsyncLoggerConfigTest {
         final Configuration configuration = new NullConfiguration();
         final Filter filter = mock(Filter.class);
         final LoggerConfig config = AsyncLoggerConfig.newAsyncBuilder()
-                .withLoggerName(FQCN)
-                .withConfig(configuration)
-                .withLevel(Level.INFO)
+                .setLoggerName(FQCN)
+                .setConfig(configuration)
+                .setLevel(Level.INFO)
                 .setFilter(filter)
                 .build();
         final Appender appender = mock(Appender.class);
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncWaitStrategyFactoryConfigTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncWaitStrategyFactoryConfigTest.java
index 7a964e3d2a..6eec836432 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncWaitStrategyFactoryConfigTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncWaitStrategyFactoryConfigTest.java
@@ -100,7 +100,7 @@ class AsyncWaitStrategyFactoryConfigTest {
     @Test
     void testInvalidProgrammaticConfiguration3159WithNullFactoryClassName() {
         assertThrows(IllegalArgumentException.class, () -> AsyncWaitStrategyFactoryConfig.newBuilder()
-                .withFactoryClassName(null));
+                .setFactoryClassName(null));
     }
 
     /**
@@ -110,7 +110,7 @@ class AsyncWaitStrategyFactoryConfigTest {
     @Test
     void testInvalidProgrammaticConfiguration3159WithEmptyFactoryClassName() {
         assertThrows(IllegalArgumentException.class, () -> AsyncWaitStrategyFactoryConfig.newBuilder()
-                .withFactoryClassName(""));
+                .setFactoryClassName(""));
     }
 
     @Test
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 eb7ad4c298..ac92595def 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
@@ -59,16 +59,16 @@ class CustomConfigurationTest {
             }
         }
         final Layout<? extends Serializable> layout = PatternLayout.newBuilder()
-                .withPattern(PatternLayout.SIMPLE_CONVERSION_PATTERN)
-                .withConfiguration(config)
+                .setPattern(PatternLayout.SIMPLE_CONVERSION_PATTERN)
+                .setConfiguration(config)
                 .build();
         final FileAppender appender = FileAppender.newBuilder()
                 .setBufferedIo(false)
                 .setIgnoreExceptions(false)
                 .setName("File")
                 .setLayout(layout)
-                .withAppend(false)
-                .withFileName(logFile.toString())
+                .setAppend(false)
+                .setFileName(logFile.toString())
                 .build();
         appender.start();
         config.addAppender(appender);
@@ -76,12 +76,12 @@ class CustomConfigurationTest {
         final AppenderRef[] refs = new AppenderRef[] {ref};
 
         final LoggerConfig loggerConfig = LoggerConfig.newBuilder()
-                .withConfig(config)
-                .withAdditivity(false)
-                .withIncludeLocation("true")
-                .withLevel(Level.INFO)
-                .withLoggerName("org.apache.logging.log4j")
-                .withRefs(refs)
+                .setConfig(config)
+                .setAdditivity(false)
+                .setIncludeLocation("true")
+                .setLevel(Level.INFO)
+                .setLoggerName("org.apache.logging.log4j")
+                .setRefs(refs)
                 .build();
         loggerConfig.addAppender(appender, null, null);
         config.addLogger("org.apache.logging.log4j", loggerConfig);
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 7f7948c44e..65021c7d0a 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
@@ -42,16 +42,16 @@ class JiraLog4j2_2134Test {
         final Configuration config = ctx.getConfiguration();
         final PatternLayout layout = PatternLayout.newBuilder()
                 // @formatter:off
-                .withPattern(PatternLayout.SIMPLE_CONVERSION_PATTERN)
-                .withConfiguration(config)
+                .setPattern(PatternLayout.SIMPLE_CONVERSION_PATTERN)
+                .setConfiguration(config)
                 .build();
         final Layout<? extends Serializable> layout1 = layout;
         // @formatter:on
         final Appender appender = FileAppender.newBuilder()
-                .withFileName("target/test.log")
+                .setFileName("target/test.log")
                 .setLayout(layout1)
                 .setConfiguration(config)
-                .withBufferSize(4000)
+                .setBufferSize(4000)
                 .setName("File")
                 .build();
         // appender.start();
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 2b4b18e33b..b25ef14a48 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
@@ -48,12 +48,12 @@ class LoggerConfigTest {
 
     private static LoggerConfig createForProperties(final Property[] properties) {
         return LoggerConfig.newBuilder()
-                .withConfig(new NullConfiguration())
-                .withAdditivity(true)
-                .withLevel(Level.INFO)
-                .withLoggerName("name")
-                .withIncludeLocation("false")
-                .withProperties(properties)
+                .setConfig(new NullConfiguration())
+                .setAdditivity(true)
+                .setLevel(Level.INFO)
+                .setLoggerName("name")
+                .setIncludeLocation("false")
+                .setProperties(properties)
                 .build();
     }
 
@@ -109,15 +109,15 @@ class LoggerConfigTest {
     void testLevel() {
         final Configuration configuration = new DefaultConfiguration();
         final LoggerConfig config1 = LoggerConfig.newBuilder()
-                .withLoggerName("org.apache.logging.log4j.test")
-                .withLevel(Level.ERROR)
-                .withAdditivity(false)
-                .withConfig(configuration)
+                .setLoggerName("org.apache.logging.log4j.test")
+                .setLevel(Level.ERROR)
+                .setAdditivity(false)
+                .setConfig(configuration)
                 .build();
         final LoggerConfig config2 = LoggerConfig.newBuilder()
-                .withLoggerName("org.apache.logging.log4j")
-                .withAdditivity(false)
-                .withConfig(configuration)
+                .setLoggerName("org.apache.logging.log4j")
+                .setAdditivity(false)
+                .setConfig(configuration)
                 .build();
         config1.setParent(config2);
         assertEquals(Level.ERROR, config1.getLevel(), "Unexpected Level");
@@ -131,9 +131,9 @@ class LoggerConfigTest {
         final Configuration configuration = new NullConfiguration();
         final Filter filter = mock(Filter.class);
         final LoggerConfig config = LoggerConfig.newBuilder()
-                .withLoggerName(FQCN)
-                .withConfig(configuration)
-                .withLevel(Level.INFO)
+                .setLoggerName(FQCN)
+                .setConfig(configuration)
+                .setLevel(Level.INFO)
                 .setFilter(filter)
                 .build();
         final Appender appender = mock(Appender.class);
@@ -150,9 +150,9 @@ class LoggerConfigTest {
     void testLevelAndRefsWithoutAppenderRef() {
         final Configuration configuration = mock(PropertiesConfiguration.class);
         final LoggerConfig.Builder builder = LoggerConfig.newBuilder()
-                .withLoggerName(FQCN)
-                .withConfig(configuration)
-                .withLevelAndRefs(Level.INFO.name());
+                .setLoggerName(FQCN)
+                .setConfig(configuration)
+                .setLevelAndRefs(Level.INFO.name());
 
         final LoggerConfig loggerConfig = builder.build();
 
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/AbstractPluginWithGenericBuilder.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/AbstractPluginWithGenericBuilder.java
index a5066145f2..a900fdbfe4 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/AbstractPluginWithGenericBuilder.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/AbstractPluginWithGenericBuilder.java
@@ -39,7 +39,7 @@ public class AbstractPluginWithGenericBuilder {
             return thing;
         }
 
-        public B withThing(final String name) {
+        public B setThing(final String name) {
             this.thing = name;
             return asBuilder();
         }
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/PluginWithGenericSubclassFoo1Builder.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/PluginWithGenericSubclassFoo1Builder.java
index 7c5201caad..7e5d284927 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/PluginWithGenericSubclassFoo1Builder.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/PluginWithGenericSubclassFoo1Builder.java
@@ -45,7 +45,7 @@ public class PluginWithGenericSubclassFoo1Builder extends AbstractPluginWithGene
             return foo1;
         }
 
-        public B withFoo1(final String foo1) {
+        public B setFoo1(final String foo1) {
             this.foo1 = foo1;
             return asBuilder();
         }
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/ValidatingPlugin.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/ValidatingPlugin.java
index 8dd16e2a9f..0b86b92955 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/ValidatingPlugin.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/ValidatingPlugin.java
@@ -56,7 +56,7 @@ public class ValidatingPlugin {
         @Required(message = "The name given by the builder is null")
         private String name;
 
-        public Builder withName(final String name) {
+        public Builder setName(final String name) {
             this.name = name;
             return this;
         }
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/ValidatingPluginWithGenericBuilder.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/ValidatingPluginWithGenericBuilder.java
index dddc702aba..baed071211 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/ValidatingPluginWithGenericBuilder.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/ValidatingPluginWithGenericBuilder.java
@@ -57,7 +57,7 @@ public class ValidatingPluginWithGenericBuilder {
         @Required(message = "The name given by the builder is null")
         private String name;
 
-        public B withName(final String name) {
+        public B setName(final String name) {
             this.name = name;
             return asBuilder();
         }
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/ValidatingPluginWithTypedBuilder.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/ValidatingPluginWithTypedBuilder.java
index 3ffe7a7446..ed2f357245 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/ValidatingPluginWithTypedBuilder.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/plugins/validation/ValidatingPluginWithTypedBuilder.java
@@ -57,7 +57,7 @@ public class ValidatingPluginWithTypedBuilder {
         @Required(message = "The name given by the builder is null")
         private String name;
 
-        public Builder<T> withName(final String name) {
+        public Builder<T> setName(final String name) {
             this.name = name;
             return this;
         }
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/HtmlLayoutTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/HtmlLayoutTest.java
index 13901d3af0..ee7e81ff9c 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/HtmlLayoutTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/HtmlLayoutTest.java
@@ -112,7 +112,7 @@ class HtmlLayoutTest {
     @Test
     void testContentType() {
         final HtmlLayout layout = HtmlLayout.newBuilder()
-                .withContentType("text/html; charset=UTF-16")
+                .setContentType("text/html; charset=UTF-16")
                 .build();
         assertEquals("text/html; charset=UTF-16", layout.getContentType());
         // TODO: make sure this following bit works as well
@@ -145,7 +145,7 @@ class HtmlLayoutTest {
         }
         // set up appender
         final HtmlLayout layout =
-                HtmlLayout.newBuilder().withLocationInfo(includeLocation).build();
+                HtmlLayout.newBuilder().setLocationInfo(includeLocation).build();
         final ListAppender appender = new ListAppender("List", null, layout, true, false);
         appender.start();
 
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutDefaultExceptionHandlerTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutDefaultExceptionHandlerTest.java
index 05df1bdd73..14b3176a38 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutDefaultExceptionHandlerTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutDefaultExceptionHandlerTest.java
@@ -65,9 +65,9 @@ class PatternLayoutDefaultExceptionHandlerTest {
     private static AbstractStringAssert<?> assertThatPatternEncodes(
             final String pattern, final boolean alwaysWriteExceptions) {
         final Layout<String> layout = PatternLayout.newBuilder()
-                .withConfiguration(CONFIG)
-                .withPattern(pattern)
-                .withAlwaysWriteExceptions(alwaysWriteExceptions)
+                .setConfiguration(CONFIG)
+                .setPattern(pattern)
+                .setAlwaysWriteExceptions(alwaysWriteExceptions)
                 .build();
         final LogEvent event = Log4jLogEvent.newBuilder().setThrown(EXCEPTION).build();
         return assertThat(layout.toSerializable(event)).as("pattern=`%s`", pattern);
diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java
index ba58e68df4..34d5fb99ff 100644
--- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java
+++ b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/PatternLayoutTest.java
@@ -115,8 +115,8 @@ class PatternLayoutTest {
     void testEqualsEmptyMarker() {
         // replace "[]" with the empty string
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern("[%logger]%equals{[%marker]}{[]}{} %msg")
-                .withConfiguration(ctx.getConfiguration())
+                .setPattern("[%logger]%equals{[%marker]}{[]}{} %msg")
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         // Not empty marker
         final LogEvent event1 = Log4jLogEvent.newBuilder() //
@@ -146,9 +146,9 @@ class PatternLayoutTest {
         // % does not work here.
         final String pattern = "%d{UNIX} MyApp%n${java:version}%n${java:runtime}%n${java:vm}%n${java:os}%n${java:hw}";
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withConfiguration(ctx.getConfiguration())
-                .withHeader("Header: " + pattern)
-                .withFooter("Footer: " + pattern)
+                .setConfiguration(ctx.getConfiguration())
+                .setHeader("Header: " + pattern)
+                .setFooter("Footer: " + pattern)
                 .build();
         final byte[] header = layout.getHeader();
         assertNotNull(header, "No header");
@@ -178,9 +178,9 @@ class PatternLayoutTest {
     void testHeaderFooterMainLookup() {
         MainMapLookup.setMainArguments("value0", "value1", "value2");
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withConfiguration(ctx.getConfiguration())
-                .withHeader("${main:0}")
-                .withFooter("${main:2}")
+                .setConfiguration(ctx.getConfiguration())
+                .setHeader("${main:0}")
+                .setFooter("${main:2}")
                 .build();
         final byte[] header = layout.getHeader();
         assertNotNull(header, "No header");
@@ -196,10 +196,10 @@ class PatternLayoutTest {
     @Test
     void testHeaderFooterThreadContext() {
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern("%d{UNIX} %m")
-                .withConfiguration(ctx.getConfiguration())
-                .withHeader("${ctx:header}")
-                .withFooter("${ctx:footer}")
+                .setPattern("%d{UNIX} %m")
+                .setConfiguration(ctx.getConfiguration())
+                .setHeader("${ctx:header}")
+                .setFooter("${ctx:footer}")
                 .build();
         ThreadContext.put("header", "Hello world Header");
         ThreadContext.put("footer", "Hello world Footer");
@@ -213,8 +213,8 @@ class PatternLayoutTest {
 
     private void testMdcPattern(final String patternStr, final String expectedStr, final boolean useThreadContext) {
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern(patternStr)
-                .withConfiguration(ctx.getConfiguration())
+                .setPattern(patternStr)
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         if (useThreadContext) {
             ThreadContext.put("key1", "value1");
@@ -267,8 +267,8 @@ class PatternLayoutTest {
         final PatternSelector selector = MarkerPatternSelector.createSelector(
                 patterns, "%d %-5p [%t]: %m%n", true, true, ctx.getConfiguration());
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPatternSelector(selector)
-                .withConfiguration(ctx.getConfiguration())
+                .setPatternSelector(selector)
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         final LogEvent event1 = Log4jLogEvent.newBuilder() //
                 .setLoggerName(this.getClass().getName())
@@ -296,8 +296,8 @@ class PatternLayoutTest {
     @Test
     void testRegex() {
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern(regexPattern)
-                .withConfiguration(ctx.getConfiguration())
+                .setPattern(regexPattern)
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         final LogEvent event = Log4jLogEvent.newBuilder() //
                 .setLoggerName(this.getClass().getName())
@@ -313,8 +313,8 @@ class PatternLayoutTest {
     void testRegexEmptyMarker() {
         // replace "[]" with the empty string
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern("[%logger]%replace{[%marker]}{\\[\\]}{} %msg")
-                .withConfiguration(ctx.getConfiguration())
+                .setPattern("[%logger]%replace{[%marker]}{\\[\\]}{} %msg")
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         // Not empty marker
         final LogEvent event1 = Log4jLogEvent.newBuilder() //
@@ -344,8 +344,8 @@ class PatternLayoutTest {
     void testEqualsMarkerWithMessageSubstitution() {
         // replace "[]" with the empty string
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern("[%logger]%equals{[%marker]}{[]}{[%msg]}")
-                .withConfiguration(ctx.getConfiguration())
+                .setPattern("[%logger]%equals{[%marker]}{[]}{[%msg]}")
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         // Not empty marker
         final LogEvent event1 = Log4jLogEvent.newBuilder() //
@@ -371,8 +371,8 @@ class PatternLayoutTest {
     @Test
     void testSpecialChars() {
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern("\\\\%level\\t%msg\\n\\t%logger\\r\\n\\f")
-                .withConfiguration(ctx.getConfiguration())
+                .setPattern("\\\\%level\\t%msg\\n\\t%logger\\r\\n\\f")
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         final LogEvent event = Log4jLogEvent.newBuilder() //
                 .setLoggerName(this.getClass().getName())
@@ -393,8 +393,8 @@ class PatternLayoutTest {
     @Test
     void testUnixTime() {
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern("%d{UNIX} %m")
-                .withConfiguration(ctx.getConfiguration())
+                .setPattern("%d{UNIX} %m")
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         final LogEvent event1 = Log4jLogEvent.newBuilder() //
                 .setLoggerName(this.getClass().getName())
@@ -419,8 +419,8 @@ class PatternLayoutTest {
     @SuppressWarnings("unused")
     private void testUnixTime(final String pattern) {
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern(pattern + " %m")
-                .withConfiguration(ctx.getConfiguration())
+                .setPattern(pattern + " %m")
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         final LogEvent event1 = Log4jLogEvent.newBuilder() //
                 .setLoggerName(this.getClass().getName())
@@ -445,8 +445,8 @@ class PatternLayoutTest {
     @Test
     void testUnixTimeMillis() {
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern("%d{UNIX_MILLIS} %m")
-                .withConfiguration(ctx.getConfiguration())
+                .setPattern("%d{UNIX_MILLIS} %m")
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         final LogEvent event1 = Log4jLogEvent.newBuilder() //
                 .setLoggerName(this.getClass().getName())
@@ -471,8 +471,8 @@ class PatternLayoutTest {
     @Test
     void testUsePlatformDefaultIfNoCharset() {
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern("%m")
-                .withConfiguration(ctx.getConfiguration())
+                .setPattern("%m")
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         assertEquals(Charset.defaultCharset(), layout.getCharset());
     }
@@ -480,9 +480,9 @@ class PatternLayoutTest {
     @Test
     void testUseSpecifiedCharsetIfExists() {
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPattern("%m")
-                .withConfiguration(ctx.getConfiguration())
-                .withCharset(StandardCharsets.UTF_8)
+                .setPattern("%m")
+                .setConfiguration(ctx.getConfiguration())
+                .setCharset(StandardCharsets.UTF_8)
                 .build();
         assertEquals(StandardCharsets.UTF_8, layout.getCharset());
     }
@@ -491,8 +491,8 @@ class PatternLayoutTest {
     void testLoggerNameTruncationByRetainingPartsFromEnd() {
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%c{1} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%c{1} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -509,8 +509,8 @@ class PatternLayoutTest {
         }
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%c{2} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%c{2} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -528,8 +528,8 @@ class PatternLayoutTest {
         }
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%c{20} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%c{20} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -546,8 +546,8 @@ class PatternLayoutTest {
     void testCallersFqcnTruncationByRetainingPartsFromEnd() {
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%C{1} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%C{1} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -569,8 +569,8 @@ class PatternLayoutTest {
         }
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%C{2} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%C{2} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -593,8 +593,8 @@ class PatternLayoutTest {
         }
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%C{20} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%C{20} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -612,8 +612,8 @@ class PatternLayoutTest {
         }
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%class{1} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%class{1} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -639,8 +639,8 @@ class PatternLayoutTest {
     void testLoggerNameTruncationByDroppingPartsFromFront() {
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%c{-1} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%c{-1} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -656,8 +656,8 @@ class PatternLayoutTest {
         }
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%c{-3} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%c{-3} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -675,8 +675,8 @@ class PatternLayoutTest {
         }
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%logger{-3} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%logger{-3} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -694,8 +694,8 @@ class PatternLayoutTest {
         }
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%c{-20} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%c{-20} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -712,8 +712,8 @@ class PatternLayoutTest {
     void testCallersFqcnTruncationByDroppingPartsFromFront() {
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%C{-1} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%C{-1} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -734,8 +734,8 @@ class PatternLayoutTest {
         }
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%C{-3} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%C{-3} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -758,8 +758,8 @@ class PatternLayoutTest {
         }
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%class{-3} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%class{-3} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
@@ -782,8 +782,8 @@ class PatternLayoutTest {
         }
         {
             final PatternLayout layout = PatternLayout.newBuilder()
-                    .withPattern("%C{-20} %m")
-                    .withConfiguration(ctx.getConfiguration())
+                    .setPattern("%C{-20} %m")
+                    .setConfiguration(ctx.getConfiguration())
                     .build();
             final LogEvent event1 = Log4jLogEvent.newBuilder()
                     .setLoggerName(this.getClass().getName())
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 0bfb157f83..9712819fc3 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
@@ -44,8 +44,8 @@ class PatternSelectorTest {
         final PatternSelector selector = MarkerPatternSelector.createSelector(
                 patterns, "%d %-5p [%t]: %m%n", true, true, ctx.getConfiguration());
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPatternSelector(selector)
-                .withConfiguration(ctx.getConfiguration())
+                .setPatternSelector(selector)
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         final LogEvent event1 = Log4jLogEvent.newBuilder() //
                 .setLoggerName(this.getClass().getName())
@@ -77,8 +77,8 @@ class PatternSelectorTest {
         final PatternSelector selector =
                 LevelPatternSelector.createSelector(patterns, "%d %-5p [%t]: %m%n", true, true, ctx.getConfiguration());
         final PatternLayout layout = PatternLayout.newBuilder()
-                .withPatternSelector(selector)
-                .withConfiguration(ctx.getConfiguration())
+                .setPatternSelector(selector)
+                .setConfiguration(ctx.getConfiguration())
                 .build();
         final LogEvent event1 = Log4jLogEvent.newBuilder() //
                 .setLoggerName(this.getClass().getName())
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 beaf5134a0..27530b2624 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
@@ -83,8 +83,8 @@ public abstract class AbstractAppender extends AbstractFilterable implements App
         public Layout<? extends Serializable> getOrCreateLayout(final Charset charset) {
             if (layout == null) {
                 return PatternLayout.newBuilder()
-                        .withCharset(charset)
-                        .withConfiguration(configuration)
+                        .setCharset(charset)
+                        .setConfiguration(configuration)
                         .build();
             }
             return layout;
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractFileAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractFileAppender.java
index fc959bc967..a059f6bf38 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractFileAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractFileAppender.java
@@ -104,46 +104,154 @@ public abstract class AbstractFileAppender<M extends OutputStreamManager> extend
             return fileGroup;
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public B setAdvertise(final boolean advertise) {
+            this.advertise = advertise;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setAdvertiseUri(final String advertiseUri) {
+            this.advertiseUri = advertiseUri;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setAppend(final boolean append) {
+            this.append = append;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFileName(final String fileName) {
+            this.fileName = fileName;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setCreateOnDemand(final boolean createOnDemand) {
+            this.createOnDemand = createOnDemand;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setLocking(final boolean locking) {
+            this.locking = locking;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFilePermissions(final String filePermissions) {
+            this.filePermissions = filePermissions;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFileOwner(final String fileOwner) {
+            this.fileOwner = fileOwner;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFileGroup(final String fileGroup) {
+            this.fileGroup = fileGroup;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setAdvertise(boolean)}.
+         */
+        @Deprecated
         public B withAdvertise(final boolean advertise) {
             this.advertise = advertise;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setAdvertiseUri(String)}.
+         */
+        @Deprecated
         public B withAdvertiseUri(final String advertiseUri) {
             this.advertiseUri = advertiseUri;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setAppend(boolean)}.
+         */
+        @Deprecated
         public B withAppend(final boolean append) {
             this.append = append;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileName(String)}.
+         */
+        @Deprecated
         public B withFileName(final String fileName) {
             this.fileName = fileName;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setCreateOnDemand(boolean)}.
+         */
+        @Deprecated
         public B withCreateOnDemand(final boolean createOnDemand) {
             this.createOnDemand = createOnDemand;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setLocking(boolean)}.
+         */
+        @Deprecated
         public B withLocking(final boolean locking) {
             this.locking = locking;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFilePermissions(String)}.
+         */
+        @Deprecated
         public B withFilePermissions(final String filePermissions) {
             this.filePermissions = filePermissions;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileOwner(String)}.
+         */
+        @Deprecated
         public B withFileOwner(final String fileOwner) {
             this.fileOwner = fileOwner;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileGroup(String)}.
+         */
+        @Deprecated
         public B withFileGroup(final String fileGroup) {
             this.fileGroup = fileGroup;
             return asBuilder();
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AppenderSet.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AppenderSet.java
index 9a4a3aae0d..9595e00b5a 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AppenderSet.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AppenderSet.java
@@ -81,12 +81,36 @@ public class AppenderSet {
             return configuration;
         }
 
-        public Builder withNode(@SuppressWarnings("hiding") final Node node) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setNode(final Node node) {
             this.node = node;
             return this;
         }
 
-        public Builder withConfiguration(@SuppressWarnings("hiding") final Configuration configuration) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setConfiguration(final Configuration configuration) {
+            this.configuration = configuration;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setNode(Node)}.
+         */
+        @Deprecated
+        public Builder withNode(final Node node) {
+            this.node = node;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setConfiguration(Configuration)}.
+         */
+        @Deprecated
+        public Builder withConfiguration(final Configuration configuration) {
             this.configuration = configuration;
             return this;
         }
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileAppender.java
index b284a669d0..a9ab350876 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileAppender.java
@@ -164,46 +164,154 @@ public final class FileAppender extends AbstractOutputStreamAppender<FileManager
             return fileGroup;
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public B setAdvertise(final boolean advertise) {
+            this.advertise = advertise;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setAdvertiseUri(final String advertiseUri) {
+            this.advertiseUri = advertiseUri;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setAppend(final boolean append) {
+            this.append = append;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFileName(final String fileName) {
+            this.fileName = fileName;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setCreateOnDemand(final boolean createOnDemand) {
+            this.createOnDemand = createOnDemand;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setLocking(final boolean locking) {
+            this.locking = locking;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFilePermissions(final String filePermissions) {
+            this.filePermissions = filePermissions;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFileOwner(final String fileOwner) {
+            this.fileOwner = fileOwner;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFileGroup(final String fileGroup) {
+            this.fileGroup = fileGroup;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setAdvertise(boolean)}.
+         */
+        @Deprecated
         public B withAdvertise(final boolean advertise) {
             this.advertise = advertise;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setAdvertiseUri(String)}.
+         */
+        @Deprecated
         public B withAdvertiseUri(final String advertiseUri) {
             this.advertiseUri = advertiseUri;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setAppend(boolean)}.
+         */
+        @Deprecated
         public B withAppend(final boolean append) {
             this.append = append;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileName(String)}.
+         */
+        @Deprecated
         public B withFileName(final String fileName) {
             this.fileName = fileName;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setCreateOnDemand(boolean)}.
+         */
+        @Deprecated
         public B withCreateOnDemand(final boolean createOnDemand) {
             this.createOnDemand = createOnDemand;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setLocking(boolean)}.
+         */
+        @Deprecated
         public B withLocking(final boolean locking) {
             this.locking = locking;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFilePermissions(String)}.
+         */
+        @Deprecated
         public B withFilePermissions(final String filePermissions) {
             this.filePermissions = filePermissions;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileOwner(String)}.
+         */
+        @Deprecated
         public B withFileOwner(final String fileOwner) {
             this.fileOwner = fileOwner;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileGroup(String)}.
+         */
+        @Deprecated
         public B withFileGroup(final String fileGroup) {
             this.fileGroup = fileGroup;
             return asBuilder();
@@ -251,18 +359,18 @@ public final class FileAppender extends AbstractOutputStreamAppender<FileManager
             final String advertiseUri,
             final Configuration config) {
         return FileAppender.<B>newBuilder()
-                .withAdvertise(Boolean.parseBoolean(advertise))
-                .withAdvertiseUri(advertiseUri)
-                .withAppend(Booleans.parseBoolean(append, true))
-                .withBufferedIo(Booleans.parseBoolean(bufferedIo, true))
-                .withBufferSize(Integers.parseInt(bufferSizeStr, DEFAULT_BUFFER_SIZE))
+                .setAdvertise(Boolean.parseBoolean(advertise))
+                .setAdvertiseUri(advertiseUri)
+                .setAppend(Booleans.parseBoolean(append, true))
+                .setBufferedIo(Booleans.parseBoolean(bufferedIo, true))
+                .setBufferSize(Integers.parseInt(bufferSizeStr, DEFAULT_BUFFER_SIZE))
                 .setConfiguration(config)
-                .withFileName(fileName)
+                .setFileName(fileName)
                 .setFilter(filter)
                 .setIgnoreExceptions(Booleans.parseBoolean(ignoreExceptions, true))
-                .withImmediateFlush(Booleans.parseBoolean(immediateFlush, true))
+                .setImmediateFlush(Booleans.parseBoolean(immediateFlush, true))
                 .setLayout(layout)
-                .withLocking(Boolean.parseBoolean(locking))
+                .setLocking(Boolean.parseBoolean(locking))
                 .setName(name)
                 .build();
         // @formatter:on
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 3721cdab6a..8774263619 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
@@ -239,7 +239,7 @@ public final class MemoryMappedFileAppender extends AbstractOutputStreamAppender
                 .setFileName(fileName)
                 .setFilter(filter)
                 .setIgnoreExceptions(ignoreExceptions)
-                .withImmediateFlush(isImmediateFlush)
+                .setImmediateFlush(isImmediateFlush)
                 .setLayout(layout)
                 .setName(name)
                 .setRegionLength(regionLength)
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileAppender.java
index ef2dd94319..ae7f8776f0 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RandomAccessFileAppender.java
@@ -65,7 +65,7 @@ public final class RandomAccessFileAppender extends AbstractOutputStreamAppender
         private String advertiseURI;
 
         public Builder() {
-            this.withBufferSize(RandomAccessFileManager.DEFAULT_BUFFER_SIZE);
+            this.setBufferSize(RandomAccessFileManager.DEFAULT_BUFFER_SIZE);
         }
 
         @Override
@@ -225,12 +225,12 @@ public final class RandomAccessFileAppender extends AbstractOutputStreamAppender
                 .setAdvertise(isAdvertise)
                 .setAdvertiseURI(advertiseURI)
                 .setAppend(isAppend)
-                .withBufferSize(bufferSize)
+                .setBufferSize(bufferSize)
                 .setConfiguration(configuration)
                 .setFileName(fileName)
                 .setFilter(filter)
                 .setIgnoreExceptions(ignoreExceptions)
-                .withImmediateFlush(isFlush)
+                .setImmediateFlush(isFlush)
                 .setLayout(layout)
                 .setName(name)
                 .build();
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java
index 4995a04891..a78be3e4c5 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java
@@ -123,13 +123,13 @@ public final class RollingFileAppender extends AbstractOutputStreamAppender<Roll
             if (strategy == null) {
                 if (fileName != null) {
                     strategy = DefaultRolloverStrategy.newBuilder()
-                            .withCompressionLevelStr(String.valueOf(Deflater.DEFAULT_COMPRESSION))
-                            .withConfig(getConfiguration())
+                            .setCompressionLevelStr(String.valueOf(Deflater.DEFAULT_COMPRESSION))
+                            .setConfig(getConfiguration())
                             .build();
                 } else {
                     strategy = DirectWriteRolloverStrategy.newBuilder()
-                            .withCompressionLevelStr(String.valueOf(Deflater.DEFAULT_COMPRESSION))
-                            .withConfig(getConfiguration())
+                            .setCompressionLevelStr(String.valueOf(Deflater.DEFAULT_COMPRESSION))
+                            .setConfig(getConfiguration())
                             .build();
                 }
             } else if (fileName == null && !(strategy instanceof DirectFileRolloverStrategy)) {
@@ -212,31 +212,103 @@ public final class RollingFileAppender extends AbstractOutputStreamAppender<Roll
             return fileGroup;
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public B setAdvertise(final boolean advertise) {
+            this.advertise = advertise;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setAdvertiseUri(final String advertiseUri) {
+            this.advertiseUri = advertiseUri;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setAppend(final boolean append) {
+            this.append = append;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFileName(final String fileName) {
+            this.fileName = fileName;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setCreateOnDemand(final boolean createOnDemand) {
+            this.createOnDemand = createOnDemand;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setLocking(final boolean locking) {
+            this.locking = locking;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setAdvertise(boolean)}.
+         */
+        @Deprecated
         public B withAdvertise(final boolean advertise) {
             this.advertise = advertise;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setAdvertiseUri(String)}.
+         */
+        @Deprecated
         public B withAdvertiseUri(final String advertiseUri) {
             this.advertiseUri = advertiseUri;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setAppend(boolean)}.
+         */
+        @Deprecated
         public B withAppend(final boolean append) {
             this.append = append;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileName(String)}.
+         */
+        @Deprecated
         public B withFileName(final String fileName) {
             this.fileName = fileName;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setCreateOnDemand(boolean)}.
+         */
+        @Deprecated
         public B withCreateOnDemand(final boolean createOnDemand) {
             this.createOnDemand = createOnDemand;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setLocking(boolean)}.
+         */
+        @Deprecated
         public B withLocking(final boolean locking) {
             this.locking = locking;
             return asBuilder();
@@ -254,31 +326,103 @@ public final class RollingFileAppender extends AbstractOutputStreamAppender<Roll
             return strategy;
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public B setFilePattern(final String filePattern) {
+            this.filePattern = filePattern;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setPolicy(final TriggeringPolicy policy) {
+            this.policy = policy;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setStrategy(final RolloverStrategy strategy) {
+            this.strategy = strategy;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFilePermissions(final String filePermissions) {
+            this.filePermissions = filePermissions;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFileOwner(final String fileOwner) {
+            this.fileOwner = fileOwner;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFileGroup(final String fileGroup) {
+            this.fileGroup = fileGroup;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setFilePattern(String)}.
+         */
+        @Deprecated
         public B withFilePattern(final String filePattern) {
             this.filePattern = filePattern;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setPolicy(TriggeringPolicy)}.
+         */
+        @Deprecated
         public B withPolicy(final TriggeringPolicy policy) {
             this.policy = policy;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setStrategy(RolloverStrategy)}.
+         */
+        @Deprecated
         public B withStrategy(final RolloverStrategy strategy) {
             this.strategy = strategy;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFilePermissions(String)}.
+         */
+        @Deprecated
         public B withFilePermissions(final String filePermissions) {
             this.filePermissions = filePermissions;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileOwner(String)}.
+         */
+        @Deprecated
         public B withFileOwner(final String fileOwner) {
             this.fileOwner = fileOwner;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileGroup(String)}.
+         */
+        @Deprecated
         public B withFileGroup(final String fileGroup) {
             this.fileGroup = fileGroup;
             return asBuilder();
@@ -406,23 +550,23 @@ public final class RollingFileAppender extends AbstractOutputStreamAppender<Roll
         final int bufferSize = Integers.parseInt(bufferSizeStr, DEFAULT_BUFFER_SIZE);
         // @formatter:off
         return RollingFileAppender.<B>newBuilder()
-                .withAdvertise(Boolean.parseBoolean(advertise))
-                .withAdvertiseUri(advertiseUri)
-                .withAppend(Booleans.parseBoolean(append, true))
-                .withBufferedIo(Booleans.parseBoolean(bufferedIO, true))
-                .withBufferSize(bufferSize)
+                .setAdvertise(Boolean.parseBoolean(advertise))
+                .setAdvertiseUri(advertiseUri)
+                .setAppend(Booleans.parseBoolean(append, true))
+                .setBufferedIo(Booleans.parseBoolean(bufferedIO, true))
+                .setBufferSize(bufferSize)
                 .setConfiguration(config)
-                .withFileName(fileName)
-                .withFilePattern(filePattern)
+                .setFileName(fileName)
+                .setFilePattern(filePattern)
                 .setFilter(filter)
                 .setIgnoreExceptions(Booleans.parseBoolean(ignore, true))
-                .withImmediateFlush(Booleans.parseBoolean(immediateFlush, true))
+                .setImmediateFlush(Booleans.parseBoolean(immediateFlush, true))
                 .setLayout(layout)
-                .withCreateOnDemand(false)
-                .withLocking(false)
+                .setCreateOnDemand(false)
+                .setLocking(false)
                 .setName(name)
-                .withPolicy(policy)
-                .withStrategy(strategy)
+                .setPolicy(policy)
+                .setStrategy(strategy)
                 .build();
         // @formatter:on
     }
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingRandomAccessFileAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingRandomAccessFileAppender.java
index 0668d47aee..5e7361f68f 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingRandomAccessFileAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingRandomAccessFileAppender.java
@@ -58,9 +58,9 @@ public final class RollingRandomAccessFileAppender
             implements org.apache.logging.log4j.core.util.Builder<RollingRandomAccessFileAppender> {
 
         public Builder() {
-            withBufferSize(RollingRandomAccessFileManager.DEFAULT_BUFFER_SIZE);
+            setBufferSize(RollingRandomAccessFileManager.DEFAULT_BUFFER_SIZE);
             setIgnoreExceptions(true);
-            withImmediateFlush(true);
+            setImmediateFlush(true);
         }
 
         @PluginBuilderAttribute("fileName")
@@ -104,13 +104,13 @@ public final class RollingRandomAccessFileAppender
             if (strategy == null) {
                 if (fileName != null) {
                     strategy = DefaultRolloverStrategy.newBuilder()
-                            .withCompressionLevelStr(String.valueOf(Deflater.DEFAULT_COMPRESSION))
-                            .withConfig(getConfiguration())
+                            .setCompressionLevelStr(String.valueOf(Deflater.DEFAULT_COMPRESSION))
+                            .setConfig(getConfiguration())
                             .build();
                 } else {
                     strategy = DirectWriteRolloverStrategy.newBuilder()
-                            .withCompressionLevelStr(String.valueOf(Deflater.DEFAULT_COMPRESSION))
-                            .withConfig(getConfiguration())
+                            .setCompressionLevelStr(String.valueOf(Deflater.DEFAULT_COMPRESSION))
+                            .setConfig(getConfiguration())
                             .build();
                 }
             } else if (fileName == null && !(strategy instanceof DirectFileRolloverStrategy)) {
@@ -168,51 +168,171 @@ public final class RollingRandomAccessFileAppender
                     getPropertyArray());
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public B setFileName(final String fileName) {
+            this.fileName = fileName;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFilePattern(final String filePattern) {
+            this.filePattern = filePattern;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setAppend(final boolean append) {
+            this.append = append;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setPolicy(final TriggeringPolicy policy) {
+            this.policy = policy;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setStrategy(final RolloverStrategy strategy) {
+            this.strategy = strategy;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setAdvertise(final boolean advertise) {
+            this.advertise = advertise;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setAdvertiseURI(final String advertiseURI) {
+            this.advertiseURI = advertiseURI;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFilePermissions(final String filePermissions) {
+            this.filePermissions = filePermissions;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFileOwner(final String fileOwner) {
+            this.fileOwner = fileOwner;
+            return asBuilder();
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public B setFileGroup(final String fileGroup) {
+            this.fileGroup = fileGroup;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileName(String)}.
+         */
+        @Deprecated
         public B withFileName(final String fileName) {
             this.fileName = fileName;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFilePattern(String)}.
+         */
+        @Deprecated
         public B withFilePattern(final String filePattern) {
             this.filePattern = filePattern;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setAppend(boolean)}.
+         */
+        @Deprecated
         public B withAppend(final boolean append) {
             this.append = append;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setPolicy(TriggeringPolicy)}.
+         */
+        @Deprecated
         public B withPolicy(final TriggeringPolicy policy) {
             this.policy = policy;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setStrategy(RolloverStrategy)}.
+         */
+        @Deprecated
         public B withStrategy(final RolloverStrategy strategy) {
             this.strategy = strategy;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setAdvertise(boolean)}.
+         */
+        @Deprecated
         public B withAdvertise(final boolean advertise) {
             this.advertise = advertise;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setAdvertiseURI(String)}.
+         */
+        @Deprecated
         public B withAdvertiseURI(final String advertiseURI) {
             this.advertiseURI = advertiseURI;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFilePermissions(String)}.
+         */
+        @Deprecated
         public B withFilePermissions(final String filePermissions) {
             this.filePermissions = filePermissions;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileOwner(String)}.
+         */
+        @Deprecated
         public B withFileOwner(final String fileOwner) {
             this.fileOwner = fileOwner;
             return asBuilder();
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileGroup(String)}.
+         */
+        @Deprecated
         public B withFileGroup(final String fileGroup) {
             this.fileGroup = fileGroup;
             return asBuilder();
@@ -353,20 +473,20 @@ public final class RollingRandomAccessFileAppender
         final int bufferSize = Integers.parseInt(bufferSizeStr, RollingRandomAccessFileManager.DEFAULT_BUFFER_SIZE);
 
         return RollingRandomAccessFileAppender.<B>newBuilder()
-                .withAdvertise(isAdvertise)
-                .withAdvertiseURI(advertiseURI)
-                .withAppend(isAppend)
-                .withBufferSize(bufferSize)
+                .setAdvertise(isAdvertise)
+                .setAdvertiseURI(advertiseURI)
+                .setAppend(isAppend)
+                .setBufferSize(bufferSize)
                 .setConfiguration(configuration)
-                .withFileName(fileName)
-                .withFilePattern(filePattern)
+                .setFileName(fileName)
+                .setFilePattern(filePattern)
                 .setFilter(filter)
                 .setIgnoreExceptions(isIgnoreExceptions)
-                .withImmediateFlush(isImmediateFlush)
+                .setImmediateFlush(isImmediateFlush)
                 .setLayout(layout)
                 .setName(name)
-                .withPolicy(policy)
-                .withStrategy(strategy)
+                .setPolicy(policy)
+                .setStrategy(strategy)
                 .build();
     }
 
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ScriptAppenderSelector.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ScriptAppenderSelector.java
index efbd93e433..9833c1ed58 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ScriptAppenderSelector.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/ScriptAppenderSelector.java
@@ -118,22 +118,70 @@ public class ScriptAppenderSelector extends AbstractAppender {
             return script;
         }
 
-        public Builder withAppenderNodeSet(@SuppressWarnings("hiding") final AppenderSet appenderSet) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setAppenderNodeSet(final AppenderSet appenderSet) {
             this.appenderSet = appenderSet;
             return this;
         }
 
-        public Builder withConfiguration(@SuppressWarnings("hiding") final Configuration configuration) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setConfiguration(final Configuration configuration) {
             this.configuration = configuration;
             return this;
         }
 
-        public Builder withName(@SuppressWarnings("hiding") final String name) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setName(final String name) {
             this.name = name;
             return this;
         }
 
-        public Builder withScript(@SuppressWarnings("hiding") final AbstractScript script) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setScript(final AbstractScript script) {
+            this.script = script;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setAppenderNodeSet(AppenderSet)}.
+         */
+        @Deprecated
+        public Builder withAppenderNodeSet(final AppenderSet appenderSet) {
+            this.appenderSet = appenderSet;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setConfiguration(Configuration)}.
+         */
+        @Deprecated
+        public Builder withConfiguration(final Configuration configuration) {
+            this.configuration = configuration;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setName(String)}.
+         */
+        @Deprecated
+        public Builder withName(final String name) {
+            this.name = name;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setScript(AbstractScript)}.
+         */
+        @Deprecated
+        public Builder withScript(final AbstractScript script) {
             this.script = script;
             return this;
         }
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/ColumnMapping.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/ColumnMapping.java
index e1eedbc16f..4982c5b05c 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/ColumnMapping.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/ColumnMapping.java
@@ -88,9 +88,9 @@ public class ColumnMapping {
         public ColumnMapping build() {
             if (pattern != null) {
                 layout = PatternLayout.newBuilder()
-                        .withPattern(pattern)
-                        .withConfiguration(configuration)
-                        .withAlwaysWriteExceptions(false)
+                        .setPattern(pattern)
+                        .setConfiguration(configuration)
+                        .setAlwaysWriteExceptions(false)
                         .build();
             }
             final Class<?> columnType = type != null ? type : this.columnType;
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/ColumnConfig.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/ColumnConfig.java
index 56605be97c..9778ecfa6a 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/ColumnConfig.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/jdbc/ColumnConfig.java
@@ -88,9 +88,9 @@ public final class ColumnConfig {
 
             if (isPattern) {
                 final PatternLayout layout = PatternLayout.newBuilder()
-                        .withPattern(pattern)
-                        .withConfiguration(configuration)
-                        .withAlwaysWriteExceptions(false)
+                        .setPattern(pattern)
+                        .setConfiguration(configuration)
+                        .setAlwaysWriteExceptions(false)
                         .build();
                 return new ColumnConfig(name, layout, null, false, isUnicode, isClob);
             }
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/package-info.java
index b0c7d3049f..a18b7715e4 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/package-info.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/package-info.java
@@ -18,7 +18,7 @@
  * Log4j 2 Appenders.
  */
 @Export
-@Version("2.20.3")
+@Version("2.26.0")
 package org.apache.logging.log4j.core.appender;
 
 import org.osgi.annotation.bundle.Export;
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
index 728763433e..969e37f581 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
@@ -168,8 +168,9 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
          *
          * @param max The maximum number of files to keep.
          * @return This builder for chaining convenience
+         * @since 2.26.0
          */
-        public Builder withMax(final String max) {
+        public Builder setMax(final String max) {
             this.max = max;
             return this;
         }
@@ -183,8 +184,9 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
          *
          * @param min The minimum number of files to keep.
          * @return This builder for chaining convenience
+         * @since 2.26.0
          */
-        public Builder withMin(final String min) {
+        public Builder setMin(final String min) {
             this.min = min;
             return this;
         }
@@ -199,8 +201,9 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
          * @param fileIndex If set to "max" (the default), files with a higher index will be newer than files with a smaller
          *            index. If set to "min", file renaming and the counter will follow the Fixed Window strategy.
          * @return This builder for chaining convenience
+         * @since 2.26.0
          */
-        public Builder withFileIndex(final String fileIndex) {
+        public Builder setFileIndex(final String fileIndex) {
             this.fileIndex = fileIndex;
             return this;
         }
@@ -214,8 +217,9 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
          *
          * @param compressionLevelStr The compression level, 0 (less) through 9 (more); applies only to ZIP files.
          * @return This builder for chaining convenience
+         * @since 2.26.0
          */
-        public Builder withCompressionLevelStr(final String compressionLevelStr) {
+        public Builder setCompressionLevelStr(final String compressionLevelStr) {
             this.compressionLevelStr = compressionLevelStr;
             return this;
         }
@@ -229,8 +233,9 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
          *
          * @param customActions custom actions to perform asynchronously after rollover
          * @return This builder for chaining convenience
+         * @since 2.26.0
          */
-        public Builder withCustomActions(final Action[] customActions) {
+        public Builder setCustomActions(final Action[] customActions) {
             this.customActions = customActions;
             return this;
         }
@@ -244,8 +249,9 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
          *
          * @param stopCustomActionsOnError whether to stop executing asynchronous actions if an error occurs
          * @return This builder for chaining convenience
+         * @since 2.26.0
          */
-        public Builder withStopCustomActionsOnError(final boolean stopCustomActionsOnError) {
+        public Builder setStopCustomActionsOnError(final boolean stopCustomActionsOnError) {
             this.stopCustomActionsOnError = stopCustomActionsOnError;
             return this;
         }
@@ -259,8 +265,9 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
          *
          * @param tempCompressedFilePattern File pattern of the working file pattern used during compression, if null no temporary file are used
          * @return This builder for chaining convenience
+         * @since 2.26.0
          */
-        public Builder withTempCompressedFilePattern(final String tempCompressedFilePattern) {
+        public Builder setTempCompressedFilePattern(final String tempCompressedFilePattern) {
             this.tempCompressedFilePattern = tempCompressedFilePattern;
             return this;
         }
@@ -274,7 +281,80 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
          *
          * @param config The Configuration.
          * @return This builder for chaining convenience
+         * @since 2.26.0
+         */
+        public Builder setConfig(final Configuration config) {
+            this.config = config;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setMax(String)}.
+         */
+        @Deprecated
+        public Builder withMax(final String max) {
+            this.max = max;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setMin(String)}.
+         */
+        @Deprecated
+        public Builder withMin(final String min) {
+            this.min = min;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileIndex(String)}.
+         */
+        @Deprecated
+        public Builder withFileIndex(final String fileIndex) {
+            this.fileIndex = fileIndex;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setCompressionLevelStr(String)}.
+         */
+        @Deprecated
+        public Builder withCompressionLevelStr(final String compressionLevelStr) {
+            this.compressionLevelStr = compressionLevelStr;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setCustomActions(Action[])}.
+         */
+        @Deprecated
+        public Builder withCustomActions(final Action[] customActions) {
+            this.customActions = customActions;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setStopCustomActionsOnError(boolean)}.
+         */
+        @Deprecated
+        public Builder withStopCustomActionsOnError(final boolean stopCustomActionsOnError) {
+            this.stopCustomActionsOnError = stopCustomActionsOnError;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setTempCompressedFilePattern(String)}.
+         */
+        @Deprecated
+        public Builder withTempCompressedFilePattern(final String tempCompressedFilePattern) {
+            this.tempCompressedFilePattern = tempCompressedFilePattern;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setConfig(Configuration)}.
          */
+        @Deprecated
         public Builder withConfig(final Configuration config) {
             this.config = config;
             return this;
@@ -313,13 +393,13 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
                     final boolean stopCustomActionsOnError,
             @PluginConfiguration final Configuration config) {
         return DefaultRolloverStrategy.newBuilder()
-                .withMin(min)
-                .withMax(max)
-                .withFileIndex(fileIndex)
-                .withCompressionLevelStr(compressionLevelStr)
-                .withCustomActions(customActions)
-                .withStopCustomActionsOnError(stopCustomActionsOnError)
-                .withConfig(config)
+                .setMin(min)
+                .setMax(max)
+                .setFileIndex(fileIndex)
+                .setCompressionLevelStr(compressionLevelStr)
+                .setCustomActions(customActions)
+                .setStopCustomActionsOnError(stopCustomActionsOnError)
+                .setConfig(config)
                 .build();
         // @formatter:on
     }
@@ -617,14 +697,14 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
             // Propagate POSIX attribute view to compressed file
             // @formatter:off
             final Action posixAttributeViewAction = PosixViewAttributeAction.newBuilder()
-                    .withBasePath(compressedName)
-                    .withFollowLinks(false)
-                    .withMaxDepth(1)
-                    .withPathConditions(PathCondition.EMPTY_ARRAY)
-                    .withSubst(getStrSubstitutor())
-                    .withFilePermissions(manager.getFilePermissions())
-                    .withFileOwner(manager.getFileOwner())
-                    .withFileGroup(manager.getFileGroup())
+                    .setBasePath(compressedName)
+                    .setFollowLinks(false)
+                    .setMaxDepth(1)
+                    .setPathConditions(PathCondition.EMPTY_ARRAY)
+                    .setSubst(getStrSubstitutor())
+                    .setFilePermissions(manager.getFilePermissions())
+                    .setFileOwner(manager.getFileOwner())
+                    .setFileGroup(manager.getFileGroup())
                     .build();
             // @formatter:on
             compressAction = new CompositeAction(Arrays.asList(compressAction, posixAttributeViewAction), false);
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java
index ea41918e4a..7694ce48a4 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java
@@ -114,8 +114,9 @@ public class DirectWriteRolloverStrategy extends AbstractRolloverStrategy implem
          *
          * @param maxFiles The maximum number of files that match the date portion of the pattern to keep.
          * @return This builder for chaining convenience
+         * @since 2.26.0
          */
-        public Builder withMaxFiles(final String maxFiles) {
+        public Builder setMaxFiles(final String maxFiles) {
             this.maxFiles = maxFiles;
             return this;
         }
@@ -129,8 +130,9 @@ public class DirectWriteRolloverStrategy extends AbstractRolloverStrategy implem
          *
          * @param compressionLevelStr The compression level, 0 (less) through 9 (more); applies only to ZIP files.
          * @return This builder for chaining convenience
+         * @since 2.26.0
          */
-        public Builder withCompressionLevelStr(final String compressionLevelStr) {
+        public Builder setCompressionLevelStr(final String compressionLevelStr) {
             this.compressionLevelStr = compressionLevelStr;
             return this;
         }
@@ -144,8 +146,9 @@ public class DirectWriteRolloverStrategy extends AbstractRolloverStrategy implem
          *
          * @param customActions custom actions to perform asynchronously after rollover
          * @return This builder for chaining convenience
+         * @since 2.26.0
          */
-        public Builder withCustomActions(final Action[] customActions) {
+        public Builder setCustomActions(final Action[] customActions) {
             this.customActions = customActions;
             return this;
         }
@@ -159,8 +162,9 @@ public class DirectWriteRolloverStrategy extends AbstractRolloverStrategy implem
          *
          * @param stopCustomActionsOnError whether to stop executing asynchronous actions if an error occurs
          * @return This builder for chaining convenience
+         * @since 2.26.0
          */
-        public Builder withStopCustomActionsOnError(final boolean stopCustomActionsOnError) {
+        public Builder setStopCustomActionsOnError(final boolean stopCustomActionsOnError) {
             this.stopCustomActionsOnError = stopCustomActionsOnError;
             return this;
         }
@@ -174,8 +178,9 @@ public class DirectWriteRolloverStrategy extends AbstractRolloverStrategy implem
          *
          * @param tempCompressedFilePattern File pattern of the working file pattern used during compression, if null no temporary file are used
          * @return This builder for chaining convenience
+         * @since 2.26.0
          */
-        public Builder withTempCompressedFilePattern(final String tempCompressedFilePattern) {
+        public Builder setTempCompressedFilePattern(final String tempCompressedFilePattern) {
             this.tempCompressedFilePattern = tempCompressedFilePattern;
             return this;
         }
@@ -189,7 +194,62 @@ public class DirectWriteRolloverStrategy extends AbstractRolloverStrategy implem
          *
          * @param config The Configuration.
          * @return This builder for chaining convenience
+         * @since 2.26.0
+         */
+        public Builder setConfig(final Configuration config) {
+            this.config = config;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setMaxFiles(String)}.
+         */
+        @Deprecated
+        public Builder withMaxFiles(final String maxFiles) {
+            this.maxFiles = maxFiles;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setCompressionLevelStr(String)}.
+         */
+        @Deprecated
+        public Builder withCompressionLevelStr(final String compressionLevelStr) {
+            this.compressionLevelStr = compressionLevelStr;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setCustomActions(Action[])}.
+         */
+        @Deprecated
+        public Builder withCustomActions(final Action[] customActions) {
+            this.customActions = customActions;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setStopCustomActionsOnError(boolean)}.
+         */
+        @Deprecated
+        public Builder withStopCustomActionsOnError(final boolean stopCustomActionsOnError) {
+            this.stopCustomActionsOnError = stopCustomActionsOnError;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setTempCompressedFilePattern(String)}.
+         */
+        @Deprecated
+        public Builder withTempCompressedFilePattern(final String tempCompressedFilePattern) {
+            this.tempCompressedFilePattern = tempCompressedFilePattern;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setConfig(Configuration)}.
          */
+        @Deprecated
         public Builder withConfig(final Configuration config) {
             this.config = config;
             return this;
@@ -223,11 +283,11 @@ public class DirectWriteRolloverStrategy extends AbstractRolloverStrategy implem
                     final boolean stopCustomActionsOnError,
             @PluginConfiguration final Configuration config) {
         return newBuilder()
-                .withMaxFiles(maxFiles)
-                .withCompressionLevelStr(compressionLevelStr)
-                .withCustomActions(customActions)
-                .withStopCustomActionsOnError(stopCustomActionsOnError)
-                .withConfig(config)
+                .setMaxFiles(maxFiles)
+                .setCompressionLevelStr(compressionLevelStr)
+                .setCustomActions(customActions)
+                .setStopCustomActionsOnError(stopCustomActionsOnError)
+                .setConfig(config)
                 .build();
         // @formatter:on
     }
@@ -399,14 +459,14 @@ public class DirectWriteRolloverStrategy extends AbstractRolloverStrategy implem
             // Propagate POSIX attribute view to compressed file
             // @formatter:off
             final Action posixAttributeViewAction = PosixViewAttributeAction.newBuilder()
-                    .withBasePath(compressedName)
-                    .withFollowLinks(false)
-                    .withMaxDepth(1)
-                    .withPathConditions(PathCondition.EMPTY_ARRAY)
-                    .withSubst(getStrSubstitutor())
-                    .withFilePermissions(manager.getFilePermissions())
-                    .withFileOwner(manager.getFileOwner())
-                    .withFileGroup(manager.getFileGroup())
+                    .setBasePath(compressedName)
+                    .setFollowLinks(false)
+                    .setMaxDepth(1)
+                    .setPathConditions(PathCondition.EMPTY_ARRAY)
+                    .setSubst(getStrSubstitutor())
+                    .setFilePermissions(manager.getFilePermissions())
+                    .setFileOwner(manager.getFileOwner())
+                    .setFileGroup(manager.getFileGroup())
                     .build();
             // @formatter:on
             compressAction = new CompositeAction(Arrays.asList(compressAction, posixAttributeViewAction), false);
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.java
index a761aa8312..54f406ec8c 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/TimeBasedTriggeringPolicy.java
@@ -62,16 +62,52 @@ public final class TimeBasedTriggeringPolicy extends AbstractTriggeringPolicy {
             return maxRandomDelay;
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public Builder setInterval(final int interval) {
+            this.interval = interval;
+            return this;
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public Builder setModulate(final boolean modulate) {
+            this.modulate = modulate;
+            return this;
+        }
+
+        /**
+         * @since 2.26.0
+         */
+        public Builder setMaxRandomDelay(final int maxRandomDelay) {
+            this.maxRandomDelay = maxRandomDelay;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setInterval(int)}.
+         */
+        @Deprecated
         public Builder withInterval(final int interval) {
             this.interval = interval;
             return this;
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setModulate(boolean)}.
+         */
+        @Deprecated
         public Builder withModulate(final boolean modulate) {
             this.modulate = modulate;
             return this;
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setMaxRandomDelay(int)}.
+         */
+        @Deprecated
         public Builder withMaxRandomDelay(final int maxRandomDelay) {
             this.maxRandomDelay = maxRandomDelay;
             return this;
@@ -149,8 +185,8 @@ public final class TimeBasedTriggeringPolicy extends AbstractTriggeringPolicy {
     public static TimeBasedTriggeringPolicy createPolicy(
             @PluginAttribute("interval") final String interval, @PluginAttribute("modulate") final String modulate) {
         return newBuilder()
-                .withInterval(Integers.parseInt(interval, 1))
-                .withModulate(Boolean.parseBoolean(modulate))
+                .setInterval(Integers.parseInt(interval, 1))
+                .setModulate(Boolean.parseBoolean(modulate))
                 .build();
     }
 
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PosixViewAttributeAction.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PosixViewAttributeAction.java
index 9e45b5bef5..51e038f1c1 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PosixViewAttributeAction.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/PosixViewAttributeAction.java
@@ -161,8 +161,9 @@ public class PosixViewAttributeAction extends AbstractPathAction {
          *
          * @param configuration {@link AbstractPathAction#getStrSubstitutor()}
          * @return This builder
+         * @since 2.26.0
          */
-        public Builder withConfiguration(final Configuration configuration) {
+        public Builder setConfiguration(final Configuration configuration) {
             this.configuration = configuration;
             return this;
         }
@@ -172,8 +173,9 @@ public class PosixViewAttributeAction extends AbstractPathAction {
          *
          * @param subst {@link AbstractPathAction#getStrSubstitutor()}
          * @return This builder
+         * @since 2.26.0
          */
-        public Builder withSubst(final StrSubstitutor subst) {
+        public Builder setSubst(final StrSubstitutor subst) {
             this.subst = subst;
             return this;
         }
@@ -182,8 +184,9 @@ public class PosixViewAttributeAction extends AbstractPathAction {
          * Define base path to apply condition before execute POSIX file attribute action.
          * @param basePath {@link AbstractPathAction#getBasePath()}
          * @return This builder
+         * @since 2.26.0
          */
-        public Builder withBasePath(final String basePath) {
+        public Builder setBasePath(final String basePath) {
             this.basePath = basePath;
             return this;
         }
@@ -192,8 +195,9 @@ public class PosixViewAttributeAction extends AbstractPathAction {
          * True to allow synonyms links during search of eligible files.
          * @param followLinks Follow synonyms links
          * @return This builder
+         * @since 2.26.0
          */
-        public Builder withFollowLinks(final boolean followLinks) {
+        public Builder setFollowLinks(final boolean followLinks) {
             this.followLinks = followLinks;
             return this;
         }
@@ -202,8 +206,9 @@ public class PosixViewAttributeAction extends AbstractPathAction {
          * Define max folder depth to search for eligible files to apply POSIX attribute view.
          * @param maxDepth Max search depth
          * @return This builder
+         * @since 2.26.0
          */
-        public Builder withMaxDepth(final int maxDepth) {
+        public Builder setMaxDepth(final int maxDepth) {
             this.maxDepth = maxDepth;
             return this;
         }
@@ -213,8 +218,9 @@ public class PosixViewAttributeAction extends AbstractPathAction {
          *
          * @param pathConditions {@link AbstractPathAction#getPathConditions()}
          * @return This builder
+         * @since 2.26.0
          */
-        public Builder withPathConditions(final PathCondition[] pathConditions) {
+        public Builder setPathConditions(final PathCondition[] pathConditions) {
             this.pathConditions = pathConditions;
             return this;
         }
@@ -227,8 +233,9 @@ public class PosixViewAttributeAction extends AbstractPathAction {
          * <p>r--r--r--
          * @param filePermissionsString Permissions to apply
          * @return This builder
+         * @since 2.26.0
          */
-        public Builder withFilePermissionsString(final String filePermissionsString) {
+        public Builder setFilePermissionsString(final String filePermissionsString) {
             this.filePermissionsString = filePermissionsString;
             return this;
         }
@@ -237,8 +244,9 @@ public class PosixViewAttributeAction extends AbstractPathAction {
          * Define file permissions to apply during action execution eligible files.
          * @param filePermissions Permissions to apply
          * @return This builder
+         * @since 2.26.0
          */
-        public Builder withFilePermissions(final Set<PosixFilePermission> filePermissions) {
+        public Builder setFilePermissions(final Set<PosixFilePermission> filePermissions) {
             this.filePermissions = filePermissions;
             return this;
         }
@@ -247,8 +255,9 @@ public class PosixViewAttributeAction extends AbstractPathAction {
          * Define file owner to apply during action execution eligible files.
          * @param fileOwner File owner
          * @return This builder
+         * @since 2.26.0
          */
-        public Builder withFileOwner(final String fileOwner) {
+        public Builder setFileOwner(final String fileOwner) {
             this.fileOwner = fileOwner;
             return this;
         }
@@ -257,7 +266,98 @@ public class PosixViewAttributeAction extends AbstractPathAction {
          * Define file group to apply during action execution eligible files.
          * @param fileGroup File group
          * @return This builder
+         * @since 2.26.0
+         */
+        public Builder setFileGroup(final String fileGroup) {
+            this.fileGroup = fileGroup;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setConfiguration(Configuration)}.
+         */
+        @Deprecated
+        public Builder withConfiguration(final Configuration configuration) {
+            this.configuration = configuration;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setSubst(StrSubstitutor)}.
+         */
+        @Deprecated
+        public Builder withSubst(final StrSubstitutor subst) {
+            this.subst = subst;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setBasePath(String)}.
+         */
+        @Deprecated
+        public Builder withBasePath(final String basePath) {
+            this.basePath = basePath;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setFollowLinks(boolean)}.
+         */
+        @Deprecated
+        public Builder withFollowLinks(final boolean followLinks) {
+            this.followLinks = followLinks;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setMaxDepth(int)}.
+         */
+        @Deprecated
+        public Builder withMaxDepth(final int maxDepth) {
+            this.maxDepth = maxDepth;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setPathConditions(PathCondition[])}.
+         */
+        @Deprecated
+        public Builder withPathConditions(final PathCondition[] pathConditions) {
+            this.pathConditions = pathConditions;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setFilePermissionsString(String)}.
+         */
+        @Deprecated
+        public Builder withFilePermissionsString(final String filePermissionsString) {
+            this.filePermissionsString = filePermissionsString;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setFilePermissions(Set<PosixFilePermission>)}.
+         */
+        @Deprecated
+        public Builder withFilePermissions(final Set<PosixFilePermission> filePermissions) {
+            this.filePermissions = filePermissions;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileOwner(String)}.
+         */
+        @Deprecated
+        public Builder withFileOwner(final String fileOwner) {
+            this.fileOwner = fileOwner;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setFileGroup(String)}.
          */
+        @Deprecated
         public Builder withFileGroup(final String fileGroup) {
             this.fileGroup = fileGroup;
             return this;
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/package-info.java
index 4e9d1a1bb9..3737053030 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/package-info.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/package-info.java
@@ -18,7 +18,7 @@
  * Support classes for the Rolling File Appender.
  */
 @Export
-@Version("2.24.0")
+@Version("2.26.0")
 package org.apache.logging.log4j.core.appender.rolling.action;
 
 import org.osgi.annotation.bundle.Export;
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/package-info.java
index 3be84e0d2a..9f4ea07804 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/package-info.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/package-info.java
@@ -18,7 +18,7 @@
  * Rolling File Appender and support classes.
  */
 @Export
-@Version("2.21.1")
+@Version("2.26.0")
 package org.apache.logging.log4j.core.appender.rolling;
 
 import org.osgi.annotation.bundle.Export;
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Routes.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Routes.java
index 9ca37c15cb..b08503d0e1 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Routes.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/Routes.java
@@ -104,22 +104,70 @@ public final class Routes {
             return routes;
         }
 
-        public Builder withConfiguration(@SuppressWarnings("hiding") final Configuration configuration) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setConfiguration(final Configuration configuration) {
             this.configuration = configuration;
             return this;
         }
 
-        public Builder withPattern(@SuppressWarnings("hiding") final String pattern) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setPattern(final String pattern) {
             this.pattern = pattern;
             return this;
         }
 
-        public Builder withPatternScript(@SuppressWarnings("hiding") final AbstractScript patternScript) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setPatternScript(final AbstractScript patternScript) {
             this.patternScript = patternScript;
             return this;
         }
 
-        public Builder withRoutes(@SuppressWarnings("hiding") final Route[] routes) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setRoutes(final Route[] routes) {
+            this.routes = routes;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setConfiguration(Configuration)}.
+         */
+        @Deprecated
+        public Builder withConfiguration(final Configuration configuration) {
+            this.configuration = configuration;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setPattern(String)}.
+         */
+        @Deprecated
+        public Builder withPattern(final String pattern) {
+            this.pattern = pattern;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setPatternScript(AbstractScript)}.
+         */
+        @Deprecated
+        public Builder withPatternScript(final AbstractScript patternScript) {
+            this.patternScript = patternScript;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setRoutes(Route[])}.
+         */
+        @Deprecated
+        public Builder withRoutes(final Route[] routes) {
             this.routes = routes;
             return this;
         }
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java
index d3d0a3c5bc..d285899812 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java
@@ -122,22 +122,69 @@ public final class RoutingAppender extends AbstractAppender {
             return purgePolicy;
         }
 
-        public B withRoutes(@SuppressWarnings("hiding") final Routes routes) {
+        /**
+         * @since 2.26.0
+         */
+        public B setRoutes(final Routes routes) {
             this.routes = routes;
             return asBuilder();
         }
 
-        public B withDefaultRouteScript(@SuppressWarnings("hiding") final AbstractScript defaultRouteScript) {
+        /**
+         * @since 2.26.0
+         */
+        public B setDefaultRouteScript(final AbstractScript defaultRouteScript) {
             this.defaultRouteScript = defaultRouteScript;
             return asBuilder();
         }
 
-        public B withRewritePolicy(@SuppressWarnings("hiding") final RewritePolicy rewritePolicy) {
+        /**
+         * @since 2.26.0
+         */
+        public B setRewritePolicy(final RewritePolicy rewritePolicy) {
             this.rewritePolicy = rewritePolicy;
             return asBuilder();
         }
 
-        public void withPurgePolicy(@SuppressWarnings("hiding") final PurgePolicy purgePolicy) {
+        /**
+         * @since 2.26.0
+         */
+        public void setPurgePolicy(final PurgePolicy purgePolicy) {
+            this.purgePolicy = purgePolicy;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setRoutes(Routes)}.
+         */
+        @Deprecated
+        public B withRoutes(final Routes routes) {
+            this.routes = routes;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setDefaultRouteScript(AbstractScript)}.
+         */
+        @Deprecated
+        public B withDefaultRouteScript(final AbstractScript defaultRouteScript) {
+            this.defaultRouteScript = defaultRouteScript;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setRewritePolicy(RewritePolicy)}.
+         */
+        @Deprecated
+        public B withRewritePolicy(final RewritePolicy rewritePolicy) {
+            this.rewritePolicy = rewritePolicy;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setPurgePolicy(PurgePolicy)}.
+         */
+        @Deprecated
+        public void withPurgePolicy(final PurgePolicy purgePolicy) {
             this.purgePolicy = purgePolicy;
         }
     }
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/package-info.java
index b10a700d62..044a76ea32 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/package-info.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/package-info.java
@@ -18,7 +18,7 @@
  * Apache Flume Appender. Requires the user specifically include Flume and its dependencies.
  */
 @Export
-@Version("2.20.1")
+@Version("2.26.0")
 package org.apache.logging.log4j.core.appender.routing;
 
 import org.osgi.annotation.bundle.Export;
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncWaitStrategyFactoryConfig.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncWaitStrategyFactoryConfig.java
index 890d377cd2..3785de5a67 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncWaitStrategyFactoryConfig.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncWaitStrategyFactoryConfig.java
@@ -66,6 +66,19 @@ public class AsyncWaitStrategyFactoryConfig {
             return factoryClassName;
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public B setFactoryClassName(final String className) {
+            this.factoryClassName =
+                    Assert.requireNonEmpty(className, "The 'className' argument must not be null or empty.");
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setFactoryClassName(String)}.
+         */
+        @Deprecated
         public B withFactoryClassName(final String className) {
             this.factoryClassName =
                     Assert.requireNonEmpty(className, "The 'className' argument must not be null or empty.");
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 abf19fcd6f..24e9b7643f 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.26.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 0a9be69d19..12b0b2f0ab 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
@@ -140,7 +140,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
             return additivity == null || additivity;
         }
 
-        public B withAdditivity(final boolean additivity) {
+        /**
+         * @since 2.26.0
+         */
+        public B setAdditivity(final boolean additivity) {
             this.additivity = additivity;
             return asBuilder();
         }
@@ -149,7 +152,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
             return level;
         }
 
-        public B withLevel(final Level level) {
+        /**
+         * @since 2.26.0
+         */
+        public B setLevel(final Level level) {
             this.level = level;
             return asBuilder();
         }
@@ -158,7 +164,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
             return levelAndRefs;
         }
 
-        public B withLevelAndRefs(final String levelAndRefs) {
+        /**
+         * @since 2.26.0
+         */
+        public B setLevelAndRefs(final String levelAndRefs) {
             this.levelAndRefs = levelAndRefs;
             return asBuilder();
         }
@@ -167,7 +176,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
             return loggerName;
         }
 
-        public B withLoggerName(final String loggerName) {
+        /**
+         * @since 2.26.0
+         */
+        public B setLoggerName(final String loggerName) {
             this.loggerName = loggerName;
             return asBuilder();
         }
@@ -176,7 +188,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
             return includeLocation;
         }
 
-        public B withIncludeLocation(final String includeLocation) {
+        /**
+         * @since 2.26.0
+         */
+        public B setIncludeLocation(final String includeLocation) {
             this.includeLocation = includeLocation;
             return asBuilder();
         }
@@ -185,7 +200,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
             return refs;
         }
 
-        public B withRefs(final AppenderRef[] refs) {
+        /**
+         * @since 2.26.0
+         */
+        public B setRefs(final AppenderRef[] refs) {
             this.refs = refs;
             return asBuilder();
         }
@@ -194,7 +212,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
             return properties;
         }
 
-        public B withProperties(final Property[] properties) {
+        /**
+         * @since 2.26.0
+         */
+        public B setProperties(final Property[] properties) {
             this.properties = properties;
             return asBuilder();
         }
@@ -203,7 +224,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
             return config;
         }
 
-        public B withConfig(final Configuration config) {
+        /**
+         * @since 2.26.0
+         */
+        public B setConfig(final Configuration config) {
             this.config = config;
             return asBuilder();
         }
@@ -212,6 +236,84 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
             return filter;
         }
 
+        /** @since 2.25.0 */
+        public B setFilter(final Filter filter) {
+            this.filter = filter;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setAdditivity(boolean)}.
+         */
+        @Deprecated
+        public B withAdditivity(final boolean additivity) {
+            this.additivity = additivity;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setLevel(Level)}.
+         */
+        @Deprecated
+        public B withLevel(final Level level) {
+            this.level = level;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setLevelAndRefs(String)}.
+         */
+        @Deprecated
+        public B withLevelAndRefs(final String levelAndRefs) {
+            this.levelAndRefs = levelAndRefs;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setLoggerName(String)}.
+         */
+        @Deprecated
+        public B withLoggerName(final String loggerName) {
+            this.loggerName = loggerName;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setIncludeLocation(String)}.
+         */
+        @Deprecated
+        public B withIncludeLocation(final String includeLocation) {
+            this.includeLocation = includeLocation;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setRefs(AppenderRef[])}.
+         */
+        @Deprecated
+        public B withRefs(final AppenderRef[] refs) {
+            this.refs = refs;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setProperties(Property[])}.
+         */
+        @Deprecated
+        public B withProperties(final Property[] properties) {
+            this.properties = properties;
+            return asBuilder();
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setConfig(Configuration)}.
+         */
+        @Deprecated
+        public B withConfig(final Configuration config) {
+            this.config = config;
+            return asBuilder();
+        }
+
         /**
          * @deprecated Use {@link #setFilter(Filter)} instead
          */
@@ -226,12 +328,6 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
             return setFilter(filter);
         }
 
-        /** @since 2.25.0 */
-        public B setFilter(final Filter filter) {
-            this.filter = filter;
-            return asBuilder();
-        }
-
         @Override
         public LoggerConfig build() {
             final String name = loggerName.equals(ROOT) ? Strings.EMPTY : loggerName;
@@ -879,7 +975,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
                 return additivity;
             }
 
-            public B withAdditivity(final boolean additivity) {
+            /**
+             * @since 2.26.0
+             */
+            public B setAdditivity(final boolean additivity) {
                 this.additivity = additivity;
                 return asBuilder();
             }
@@ -888,7 +987,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
                 return level;
             }
 
-            public B withLevel(final Level level) {
+            /**
+             * @since 2.26.0
+             */
+            public B setLevel(final Level level) {
                 this.level = level;
                 return asBuilder();
             }
@@ -897,7 +999,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
                 return levelAndRefs;
             }
 
-            public B withLevelAndRefs(final String levelAndRefs) {
+            /**
+             * @since 2.26.0
+             */
+            public B setLevelAndRefs(final String levelAndRefs) {
                 this.levelAndRefs = levelAndRefs;
                 return asBuilder();
             }
@@ -906,7 +1011,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
                 return includeLocation;
             }
 
-            public B withIncludeLocation(final String includeLocation) {
+            /**
+             * @since 2.26.0
+             */
+            public B setIncludeLocation(final String includeLocation) {
                 this.includeLocation = includeLocation;
                 return asBuilder();
             }
@@ -915,7 +1023,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
                 return refs;
             }
 
-            public B withRefs(final AppenderRef[] refs) {
+            /**
+             * @since 2.26.0
+             */
+            public B setRefs(final AppenderRef[] refs) {
                 this.refs = refs;
                 return asBuilder();
             }
@@ -924,7 +1035,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
                 return properties;
             }
 
-            public B withProperties(final Property[] properties) {
+            /**
+             * @since 2.26.0
+             */
+            public B setProperties(final Property[] properties) {
                 this.properties = properties;
                 return asBuilder();
             }
@@ -933,7 +1047,10 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
                 return config;
             }
 
-            public B withConfig(final Configuration config) {
+            /**
+             * @since 2.26.0
+             */
+            public B setConfig(final Configuration config) {
                 this.config = config;
                 return asBuilder();
             }
@@ -942,20 +1059,83 @@ public class LoggerConfig extends AbstractFilterable implements LocationAware {
                 return filter;
             }
 
+            /** @since 2.25.0 */
+            public B setFilter(final Filter filter) {
+                this.filter = filter;
+                return asBuilder();
+            }
+
             /**
-             * @deprecated since 2.25.0. Use {@link #setFilter(Filter)} instead.
+             * @deprecated since 2.26.0 use {@link #setAdditivity(boolean)}.
              */
             @Deprecated
-            public B withtFilter(final Filter filter) {
-                return setFilter(filter);
+            public B withAdditivity(final boolean additivity) {
+                this.additivity = additivity;
+                return asBuilder();
             }
 
-            /** @since 2.25.0 */
-            public B setFilter(final Filter filter) {
-                this.filter = filter;
+            /**
+             * @deprecated since 2.26.0 use {@link #setLevel(Level)}.
+             */
+            @Deprecated
+            public B withLevel(final Level level) {
+                this.level = level;
+                return asBuilder();
+            }
+
+            /**
+             * @deprecated since 2.26.0 use {@link #setLevelAndRefs(String)}.
+             */
+            @Deprecated
+            public B withLevelAndRefs(final String levelAndRefs) {
+                this.levelAndRefs = levelAndRefs;
+                return asBuilder();
+            }
+
+            /**
+             * @deprecated since 2.26.0 use {@link #setIncludeLocation(String)}.
+             */
+            @Deprecated
+            public B withIncludeLocation(final String includeLocation) {
+                this.includeLocation = includeLocation;
+                return asBuilder();
+            }
+
+            /**
+             * @deprecated since 2.26.0 use {@link #setRefs(AppenderRef[])}.
+             */
+            @Deprecated
+            public B withRefs(final AppenderRef[] refs) {
+                this.refs = refs;
                 return asBuilder();
             }
 
+            /**
+             * @deprecated since 2.26.0 use {@link #setProperties(Property[])}.
+             */
+            @Deprecated
+            public B withProperties(final Property[] properties) {
+                this.properties = properties;
+                return asBuilder();
+            }
+
+            /**
+             * @deprecated since 2.26.0 use {@link #setConfig(Configuration)}.
+             */
+            @Deprecated
+            public B withConfig(final Configuration config) {
+                this.config = config;
+                return asBuilder();
+            }
+
+            /**
+             * @deprecated since 2.25.0. Use {@link #setFilter(Filter)} instead.
+             */
+            @Deprecated
+            public B withtFilter(final Filter filter) {
+                return setFilter(filter);
+            }
+
             @Override
             public LoggerConfig build() {
                 final LevelAndRefs container = LoggerConfig.getLevelAndRefs(level, refs, levelAndRefs, config);
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 3db1c7abd6..b0dbdc1ea0 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.25.0")
+@Version("2.26.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/config/plugins/processor/PluginProcessor.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginProcessor.java
index cf268c22dd..6d07f91101 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginProcessor.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginProcessor.java
@@ -148,10 +148,7 @@ public class PluginProcessor extends AbstractProcessor {
                     final ExecutableElement methodElement = (ExecutableElement) enclosedElement;
                     final String methodName = methodElement.getSimpleName().toString();
 
-                    if ((methodName.toLowerCase(Locale.ROOT).startsWith("set") // Typical pattern for setters
-                                    || methodName
-                                            .toLowerCase(Locale.ROOT)
-                                            .startsWith("with")) // Typical pattern for setters
+                    if (methodName.toLowerCase(Locale.ROOT).startsWith("set") // Typical pattern for setters
                             && methodElement.getParameters().size()
                                     == 1 // It is a weird pattern to not have public setter
                     ) {
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java
index 39458807f7..9889a6a7c2 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java
@@ -188,16 +188,16 @@ public final class GelfLayout extends AbstractStringLayout {
             }
             if (messagePattern != null) {
                 patternLayout = PatternLayout.newBuilder()
-                        .withPattern(messagePattern)
-                        .withAlwaysWriteExceptions(includeStacktrace)
-                        .withConfiguration(getConfiguration())
+                        .setPattern(messagePattern)
+                        .setAlwaysWriteExceptions(includeStacktrace)
+                        .setConfiguration(getConfiguration())
                         .build();
             }
             if (patternSelector != null) {
                 patternLayout = PatternLayout.newBuilder()
-                        .withPatternSelector(patternSelector)
-                        .withAlwaysWriteExceptions(includeStacktrace)
-                        .withConfiguration(getConfiguration())
+                        .setPatternSelector(patternSelector)
+                        .setAlwaysWriteExceptions(includeStacktrace)
+                        .setConfiguration(getConfiguration())
                         .build();
             }
             return new GelfLayout(
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java
index 45a80fa8f0..4debdfab72 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/HtmlLayout.java
@@ -435,32 +435,50 @@ public final class HtmlLayout extends AbstractStringLayout {
 
         private Builder() {}
 
-        public Builder withLocationInfo(final boolean locationInfo) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setLocationInfo(final boolean locationInfo) {
             this.locationInfo = locationInfo;
             return this;
         }
 
-        public Builder withTitle(final String title) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setTitle(final String title) {
             this.title = title;
             return this;
         }
 
-        public Builder withContentType(final String contentType) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setContentType(final String contentType) {
             this.contentType = contentType;
             return this;
         }
 
-        public Builder withCharset(final Charset charset) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setCharset(final Charset charset) {
             this.charset = charset;
             return this;
         }
 
-        public Builder withFontSize(final FontSize fontSize) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setFontSize(final FontSize fontSize) {
             this.fontSize = fontSize;
             return this;
         }
 
-        public Builder withFontName(final String fontName) {
+        /**
+         * @since 2.26.0
+         */
+        public Builder setFontName(final String fontName) {
             this.fontName = fontName;
             return this;
         }
@@ -475,6 +493,60 @@ public final class HtmlLayout extends AbstractStringLayout {
             return this;
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setLocationInfo(boolean)}.
+         */
+        @Deprecated
+        public Builder withLocationInfo(final boolean locationInfo) {
+            this.locationInfo = locationInfo;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setTitle(String)}.
+         */
+        @Deprecated
+        public Builder withTitle(final String title) {
+            this.title = title;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setContentType(String)}.
+         */
+        @Deprecated
+        public Builder withContentType(final String contentType) {
+            this.contentType = contentType;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setCharset(Charset)}.
+         */
+        @Deprecated
+        public Builder withCharset(final Charset charset) {
+            this.charset = charset;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setFontSize(FontSize)}.
+         */
+        @Deprecated
+        public Builder withFontSize(final FontSize fontSize) {
+            this.fontSize = fontSize;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setFontName(String)}.
+         */
+        @Deprecated
+        public Builder withFontName(final String fontName) {
+            this.fontName = fontName;
+            return this;
+        }
+
         @Override
         public HtmlLayout build() {
             // TODO: extract charset from content-type
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
index 5f6e429927..4fea9e4de3 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
@@ -313,15 +313,15 @@ public final class PatternLayout extends AbstractStringLayout {
             @PluginAttribute("header") final String headerPattern,
             @PluginAttribute("footer") final String footerPattern) {
         return newBuilder()
-                .withPattern(pattern)
-                .withPatternSelector(patternSelector)
-                .withConfiguration(config)
-                .withRegexReplacement(replace)
-                .withCharset(charset)
-                .withAlwaysWriteExceptions(alwaysWriteExceptions)
-                .withNoConsoleNoAnsi(noConsoleNoAnsi)
-                .withHeader(headerPattern)
-                .withFooter(footerPattern)
+                .setPattern(pattern)
+                .setPatternSelector(patternSelector)
+                .setConfiguration(config)
+                .setRegexReplacement(replace)
+                .setCharset(charset)
+                .setAlwaysWriteExceptions(alwaysWriteExceptions)
+                .setNoConsoleNoAnsi(noConsoleNoAnsi)
+                .setHeader(headerPattern)
+                .setFooter(footerPattern)
                 .build();
     }
 
@@ -613,7 +613,7 @@ public final class PatternLayout extends AbstractStringLayout {
      * @see #DEFAULT_CONVERSION_PATTERN Default conversion pattern
      */
     public static PatternLayout createDefaultLayout(final Configuration configuration) {
-        return newBuilder().withConfiguration(configuration).build();
+        return newBuilder().setConfiguration(configuration).build();
     }
 
     /**
@@ -667,8 +667,9 @@ public final class PatternLayout extends AbstractStringLayout {
         /**
          * @param pattern
          *        The pattern. If not specified, defaults to DEFAULT_CONVERSION_PATTERN.
+         * @since 2.26.0
          */
-        public Builder withPattern(final String pattern) {
+        public Builder setPattern(final String pattern) {
             this.pattern = pattern;
             return this;
         }
@@ -676,8 +677,9 @@ public final class PatternLayout extends AbstractStringLayout {
         /**
          * @param patternSelector
          *        Allows different patterns to be used based on some selection criteria.
+         * @since 2.26.0
          */
-        public Builder withPatternSelector(final PatternSelector patternSelector) {
+        public Builder setPatternSelector(final PatternSelector patternSelector) {
             this.patternSelector = patternSelector;
             return this;
         }
@@ -685,8 +687,9 @@ public final class PatternLayout extends AbstractStringLayout {
         /**
          * @param configuration
          *        The Configuration. Some Converters require access to the Interpolator.
+         * @since 2.26.0
          */
-        public Builder withConfiguration(final Configuration configuration) {
+        public Builder setConfiguration(final Configuration configuration) {
             this.configuration = configuration;
             return this;
         }
@@ -694,8 +697,9 @@ public final class PatternLayout extends AbstractStringLayout {
         /**
          * @param regexReplacement
          *        A Regex replacement
+         * @since 2.26.0
          */
-        public Builder withRegexReplacement(final RegexReplacement regexReplacement) {
+        public Builder setRegexReplacement(final RegexReplacement regexReplacement) {
             this.regexReplacement = regexReplacement;
             return this;
         }
@@ -703,8 +707,9 @@ public final class PatternLayout extends AbstractStringLayout {
         /**
          * @param charset
          *        The character set. The platform default is used if not specified.
+         * @since 2.26.0
          */
-        public Builder withCharset(final Charset charset) {
+        public Builder setCharset(final Charset charset) {
             // LOG4J2-783 if null, use platform default by default
             if (charset != null) {
                 this.charset = charset;
@@ -715,8 +720,9 @@ public final class PatternLayout extends AbstractStringLayout {
         /**
          * @param alwaysWriteExceptions
          *        If {@code "true"} (default) exceptions are always written even if the pattern contains no exception tokens.
+         * @since 2.26.0
          */
-        public Builder withAlwaysWriteExceptions(final boolean alwaysWriteExceptions) {
+        public Builder setAlwaysWriteExceptions(final boolean alwaysWriteExceptions) {
             this.alwaysWriteExceptions = alwaysWriteExceptions;
             return this;
         }
@@ -724,8 +730,9 @@ public final class PatternLayout extends AbstractStringLayout {
         /**
          * @param disableAnsi
          *        If {@code true}, do not output ANSI escape codes.
+         * @since 2.26.0
          */
-        public Builder withDisableAnsi(final boolean disableAnsi) {
+        public Builder setDisableAnsi(final boolean disableAnsi) {
             this.disableAnsi = disableAnsi;
             return this;
         }
@@ -733,8 +740,9 @@ public final class PatternLayout extends AbstractStringLayout {
         /**
          * @param noConsoleNoAnsi
          *        If {@code "true"} (default is false) and {@link System#console()} is null, do not output ANSI escape codes
+         * @since 2.26.0
          */
-        public Builder withNoConsoleNoAnsi(final boolean noConsoleNoAnsi) {
+        public Builder setNoConsoleNoAnsi(final boolean noConsoleNoAnsi) {
             this.noConsoleNoAnsi = noConsoleNoAnsi;
             return this;
         }
@@ -742,8 +750,9 @@ public final class PatternLayout extends AbstractStringLayout {
         /**
          * @param header
          *        The header to place at the top of the document, once.
+         * @since 2.26.0
          */
-        public Builder withHeader(final String header) {
+        public Builder setHeader(final String header) {
             this.header = header;
             return this;
         }
@@ -751,7 +760,101 @@ public final class PatternLayout extends AbstractStringLayout {
         /**
          * @param footer
          *        The footer to place at the bottom of the document, once.
+         * @since 2.26.0
+         */
+        public Builder setFooter(final String footer) {
+            this.footer = footer;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setPattern(String)}.
+         */
+        @Deprecated
+        public Builder withPattern(final String pattern) {
+            this.pattern = pattern;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setPatternSelector(PatternSelector)}.
+         */
+        @Deprecated
+        public Builder withPatternSelector(final PatternSelector patternSelector) {
+            this.patternSelector = patternSelector;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setConfiguration(Configuration)}.
+         */
+        @Deprecated
+        public Builder withConfiguration(final Configuration configuration) {
+            this.configuration = configuration;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setRegexReplacement(RegexReplacement)}.
+         */
+        @Deprecated
+        public Builder withRegexReplacement(final RegexReplacement regexReplacement) {
+            this.regexReplacement = regexReplacement;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setCharset(Charset)}.
+         */
+        @Deprecated
+        public Builder withCharset(final Charset charset) {
+            // LOG4J2-783 if null, use platform default by default
+            if (charset != null) {
+                this.charset = charset;
+            }
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setAlwaysWriteExceptions(boolean)}.
+         */
+        @Deprecated
+        public Builder withAlwaysWriteExceptions(final boolean alwaysWriteExceptions) {
+            this.alwaysWriteExceptions = alwaysWriteExceptions;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setDisableAnsi(boolean)}.
+         */
+        @Deprecated
+        public Builder withDisableAnsi(final boolean disableAnsi) {
+            this.disableAnsi = disableAnsi;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setNoConsoleNoAnsi(boolean)}.
+         */
+        @Deprecated
+        public Builder withNoConsoleNoAnsi(final boolean noConsoleNoAnsi) {
+            this.noConsoleNoAnsi = noConsoleNoAnsi;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setHeader(String)}.
+         */
+        @Deprecated
+        public Builder withHeader(final String header) {
+            this.header = header;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setFooter(String)}.
          */
+        @Deprecated
         public Builder withFooter(final String footer) {
             this.footer = footer;
             return this;
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/package-info.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/package-info.java
index 1a93726007..6fc5dbb1a1 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/package-info.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/package-info.java
@@ -22,7 +22,7 @@
  * {@link org.apache.logging.log4j.core.Layout#ELEMENT_TYPE layout}.
  */
 @Export
-@Version("2.25.0")
+@Version("2.26.0")
 package org.apache.logging.log4j.core.layout;
 
 import org.osgi.annotation.bundle.Export;
diff --git a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/PatternResolver.java b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/PatternResolver.java
index 249c24a44a..cb1ec2cf26 100644
--- a/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/PatternResolver.java
+++ b/log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/resolver/PatternResolver.java
@@ -62,10 +62,10 @@ public final class PatternResolver implements EventResolver {
         final boolean stackTraceEnabled =
                 Optional.ofNullable(config.getBoolean("stackTraceEnabled")).orElse(context.isStackTraceEnabled());
         final PatternLayout patternLayout = PatternLayout.newBuilder()
-                .withConfiguration(context.getConfiguration())
-                .withCharset(context.getCharset())
-                .withPattern(pattern)
-                .withAlwaysWriteExceptions(stackTraceEnabled)
+                .setConfiguration(context.getConfiguration())
+                .setCharset(context.getCharset())
+                .setPattern(pattern)
+                .setAlwaysWriteExceptions(stackTraceEnabled)
                 .build();
         this.emitter = (final StringBuilder stringBuilder, final LogEvent logEvent) ->
                 patternLayout.serialize(logEvent, stringBuilder);
diff --git a/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadContextBenchmark2.java b/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadContextBenchmark2.java
index 3c16cae052..f898dab7b5 100644
--- a/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadContextBenchmark2.java
+++ b/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadContextBenchmark2.java
@@ -145,8 +145,8 @@ public class ThreadContextBenchmark2 {
             context = (LoggerContext) LogManager.getContext(false);
             Configuration config = context.getConfiguration();
             PatternLayout layout = PatternLayout.newBuilder()
-                    .withConfiguration(config)
-                    .withPattern("%X %m%n")
+                    .setConfiguration(config)
+                    .setPattern("%X %m%n")
                     .build();
             appender = StringAppender.createAppender("String", layout, null);
             appender.start();
@@ -183,8 +183,8 @@ public class ThreadContextBenchmark2 {
             context = (LoggerContext) LogManager.getContext(false);
             Configuration config = context.getConfiguration();
             PatternLayout layout = PatternLayout.newBuilder()
-                    .withConfiguration(config)
-                    .withPattern("%X %m%n")
+                    .setConfiguration(config)
+                    .setPattern("%X %m%n")
                     .build();
             appender = StringAppender.createAppender("String", layout, null);
             appender.start();
diff --git a/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/instant/InstantPatternFormatterImpactBenchmark.java b/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/instant/InstantPatternFormatterImpactBenchmark.java
index 292d1f041a..ce93495bef 100644
--- a/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/instant/InstantPatternFormatterImpactBenchmark.java
+++ b/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/jmh/instant/InstantPatternFormatterImpactBenchmark.java
@@ -61,10 +61,10 @@ public class InstantPatternFormatterImpactBenchmark {
     }
 
     private static final PatternLayout LAYOUT = PatternLayout.newBuilder()
-            .withConfiguration(new NullConfiguration())
+            .setConfiguration(new NullConfiguration())
             // Use a typical pattern *without* a date & time converter!
-            .withPattern("[%t] %p %-40.40c{1.} %notEmpty{%x }- %m%n")
-            .withAlwaysWriteExceptions(true)
+            .setPattern("[%t] %p %-40.40c{1.} %notEmpty{%x }- %m%n")
+            .setAlwaysWriteExceptions(true)
             .build();
 
     private static final InstantPatternFormatterBenchmark.Formatters FORMATTERS =
diff --git a/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/nogc/ClassicLogger.java b/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/nogc/ClassicLogger.java
index 8d797c9361..ae606ec02d 100644
--- a/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/nogc/ClassicLogger.java
+++ b/log4j-perf-test/src/main/java/org/apache/logging/log4j/perf/nogc/ClassicLogger.java
@@ -29,8 +29,8 @@ public class ClassicLogger extends AbstractLogger {
     @Override
     protected StringLayout createLayout() {
         return PatternLayout.newBuilder()
-                .withCharset(StandardCharsets.UTF_8)
-                .withPattern("%m")
+                .setCharset(StandardCharsets.UTF_8)
+                .setPattern("%m")
                 .build();
     }
 
diff --git a/src/changelog/.2.x.x/3750_deprecate_withers.xml b/src/changelog/.2.x.x/3750_deprecate_withers.xml
new file mode 100644
index 0000000000..f7084c2719
--- /dev/null
+++ b/src/changelog/.2.x.x/3750_deprecate_withers.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entry xmlns="https://logging.apache.org/xml/ns"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="
+           https://logging.apache.org/xml/ns
+           https://logging.apache.org/xml/ns/log4j-changelog-0.xsd"
+       type="deprecated">
+  <issue id="3750" link="https://github.com/apache/logging-log4j2/issues/3750"/>
+  <description format="asciidoc">
+    Deprecated withers in builder classes in favor of setters. This change improves API consistency with 3.x and helps users adapt to the upcoming changes.
+  </description>
+</entry>