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

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

commit 289d570d85bfc1bdfa26bfed2d3a25a2f9faf281
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Tue Mar 24 09:57:50 2026 +0100

    Add missing setters to `Rfc5424LayoutBuilder`
    
    This change introduces setter methods for the private fields added to 
`Rfc5424LayoutBuilder` in version `2.25.4`.
    
    These fields were originally introduced to restore configuration options 
that existed in `2.20.0` but were unintentionally renamed in `2.21.0`. Due to 
semantic versioning constraints, setters were not added at that time.
    
    With the `2.26.0` release, it is now appropriate to expose these fields via 
setters, restoring full configurability and improving API usability.
---
 .../log4j/core/layout/Rfc5424LayoutTest.java       |  6 +-
 .../log4j/core/appender/SyslogAppender.java        | 12 +--
 .../logging/log4j/core/layout/Rfc5424Layout.java   | 90 +++++++++++++++++++---
 src/changelog/.2.x.x/rfc5424-setters.xml           | 11 +++
 4 files changed, 98 insertions(+), 21 deletions(-)

diff --git 
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/Rfc5424LayoutTest.java
 
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/Rfc5424LayoutTest.java
index 8ab0a4e420..a6864e3c96 100644
--- 
a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/Rfc5424LayoutTest.java
+++ 
b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/layout/Rfc5424LayoutTest.java
@@ -729,10 +729,10 @@ class Rfc5424LayoutTest {
                 .setEin("1234.56.7")
                 .setIncludeMDC(true)
                 .setMdcId("RequestContext")
-                .setIncludeNL(true)
+                .setNewLine(true)
                 .setAppName("ATM")
-                .setExcludes("key1, key2, locale")
-                .setUseTLSMessageFormat(true)
+                .setMdcExcludes("key1, key2, locale")
+                .setUseTlsMessageFormat(true)
                 .build();
 
         final ListAppender appender = new ListAppender("List", null, layout, 
true, false);
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
index 21af109bd2..a1726b2952 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SyslogAppender.java
@@ -121,15 +121,15 @@ public class SyslogAppender extends SocketAppender {
                                 .setMdcId(mdcId)
                                 .setMdcPrefix(mdcPrefix)
                                 .setEventPrefix(eventPrefix)
-                                .setIncludeNL(newLine)
-                                .setEscapeNL(escapeNL)
+                                .setNewLine(newLine)
+                                .setNewLineEscape(escapeNL)
                                 .setAppName(appName)
                                 .setMessageId(msgId)
-                                .setExcludes(excludes)
-                                .setIncludes(includes)
-                                .setRequired(required)
+                                .setMdcExcludes(excludes)
+                                .setMdcIncludes(includes)
+                                .setMdcRequired(required)
                                 .setExceptionPattern(exceptionPattern)
-                                .setUseTLSMessageFormat(useTlsMessageFormat)
+                                .setUseTlsMessageFormat(useTlsMessageFormat)
                                 .setLoggerFields(loggerFields)
                                 .setConfiguration(configuration)
                                 .build()
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java
index 78873d0640..f6a086e2d2 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/Rfc5424Layout.java
@@ -693,19 +693,19 @@ public final class Rfc5424Layout extends 
AbstractStringLayout {
                 .setId(id)
                 .setEin(String.valueOf(enterpriseNumber))
                 .setIncludeMDC(includeMDC)
-                .setIncludeNL(newLine)
-                .setEscapeNL(escapeNL)
+                .setNewLine(newLine)
+                .setNewLineEscape(escapeNL)
                 .setMdcId(mdcId)
                 .setMdcPrefix(mdcPrefix)
                 .setEventPrefix(eventPrefix)
                 .setAppName(appName)
                 .setMessageId(msgId)
-                .setExcludes(excludes)
-                .setIncludes(includes)
-                .setRequired(required)
+                .setMdcExcludes(excludes)
+                .setMdcIncludes(includes)
+                .setMdcRequired(required)
                 .setCharset(StandardCharsets.UTF_8)
                 .setExceptionPattern(exceptionPattern)
-                .setUseTLSMessageFormat(useTlsMessageFormat)
+                .setUseTlsMessageFormat(useTlsMessageFormat)
                 .setLoggerFields(loggerFields)
                 .build();
     }
@@ -771,7 +771,6 @@ public final class Rfc5424Layout extends 
AbstractStringLayout {
          *
          * <p>Default is {@code false}.</p>
          */
-        @SuppressWarnings("log4j.public.setter")
         @PluginBuilderAttribute
         private boolean newLine;
 
@@ -788,7 +787,6 @@ public final class Rfc5424Layout extends 
AbstractStringLayout {
          *
          * <p>By default, new lines are not escaped.</p>
          */
-        @SuppressWarnings("log4j.public.setter")
         @PluginBuilderAttribute
         private String newLineEscape;
 
@@ -840,7 +838,6 @@ public final class Rfc5424Layout extends 
AbstractStringLayout {
          *
          * <p>Mutually exclusive with {@link #mdcIncludes}.</p>
          */
-        @SuppressWarnings("log4j.public.setter")
         @PluginBuilderAttribute
         private String mdcExcludes;
 
@@ -857,7 +854,6 @@ public final class Rfc5424Layout extends 
AbstractStringLayout {
          *
          * <p>Mutually exclusive with {@link #mdcExcludes}.</p>
          */
-        @SuppressWarnings("log4j.public.setter")
         @PluginBuilderAttribute
         private String mdcIncludes;
 
@@ -872,7 +868,6 @@ public final class Rfc5424Layout extends 
AbstractStringLayout {
         /**
          * A comma separated list of MDC keys that must be present in the MDC.
          */
-        @SuppressWarnings("log4j.public.setter")
         @PluginBuilderAttribute
         private String mdcRequired;
 
@@ -895,7 +890,6 @@ public final class Rfc5424Layout extends 
AbstractStringLayout {
          *
          * <p>Default is {@code false}.</p>
          */
-        @SuppressWarnings("log4j.public.setter")
         @PluginBuilderAttribute
         private boolean useTlsMessageFormat;
 
@@ -944,16 +938,40 @@ public final class Rfc5424Layout extends 
AbstractStringLayout {
             return this;
         }
 
+        /**
+         * @deprecated Since 2.26.0 use {@link #setNewLine} instead.
+         */
+        @Deprecated
         public Rfc5424LayoutBuilder setIncludeNL(final boolean includeNL) {
             this.includeNL = includeNL;
             return this;
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public Rfc5424LayoutBuilder setNewLine(boolean newLine) {
+            this.newLine = newLine;
+            return this;
+        }
+
+        /**
+         * @deprecated Since 2.26.0 use {@link #setIncludeNL} instead.
+         */
+        @Deprecated
         public Rfc5424LayoutBuilder setEscapeNL(final String escapeNL) {
             this.escapeNL = escapeNL;
             return this;
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public Rfc5424LayoutBuilder setNewLineEscape(String newLineEscape) {
+            this.newLineEscape = newLineEscape;
+            return this;
+        }
+
         public Rfc5424LayoutBuilder setMdcId(final String mdcId) {
             this.mdcId = mdcId;
             return this;
@@ -979,21 +997,57 @@ public final class Rfc5424Layout extends 
AbstractStringLayout {
             return this;
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setMdcExcludes} instead
+         */
+        @Deprecated
         public Rfc5424LayoutBuilder setExcludes(final String excludes) {
             this.excludes = excludes;
             return this;
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public Rfc5424LayoutBuilder setMdcExcludes(String mdcExcludes) {
+            this.mdcExcludes = mdcExcludes;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setMdcIncludes} instead
+         */
+        @Deprecated
         public Rfc5424LayoutBuilder setIncludes(String includes) {
             this.includes = includes;
             return this;
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public Rfc5424LayoutBuilder setMdcIncludes(String mdcIncludes) {
+            this.mdcIncludes = mdcIncludes;
+            return this;
+        }
+
+        /**
+         * @deprecated since 2.26.0 use {@link #setMdcRequired} instead
+         */
+        @Deprecated
         public Rfc5424LayoutBuilder setRequired(final String required) {
             this.required = required;
             return this;
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public Rfc5424LayoutBuilder setMdcRequired(String mdcRequired) {
+            this.mdcRequired = mdcRequired;
+            return this;
+        }
+
         // Kept for binary compatibility
         public Rfc5424LayoutBuilder setCharset(final Charset charset) {
             return super.setCharset(charset);
@@ -1004,11 +1058,23 @@ public final class Rfc5424Layout extends 
AbstractStringLayout {
             return this;
         }
 
+        /**
+         * @deprecated since 2.26.0 use {@link #setUseTlsMessageFormat} instead
+         */
+        @Deprecated
         public Rfc5424LayoutBuilder setUseTLSMessageFormat(final boolean 
useTLSMessageFormat) {
             this.useTLSMessageFormat = useTLSMessageFormat;
             return this;
         }
 
+        /**
+         * @since 2.26.0
+         */
+        public Rfc5424LayoutBuilder setUseTlsMessageFormat(boolean 
useTlsMessageFormat) {
+            this.useTlsMessageFormat = useTlsMessageFormat;
+            return this;
+        }
+
         public Rfc5424LayoutBuilder setLoggerFields(final LoggerFields[] 
loggerFields) {
             this.loggerFields = loggerFields;
             return this;
diff --git a/src/changelog/.2.x.x/rfc5424-setters.xml 
b/src/changelog/.2.x.x/rfc5424-setters.xml
new file mode 100644
index 0000000000..4cd3cde732
--- /dev/null
+++ b/src/changelog/.2.x.x/rfc5424-setters.xml
@@ -0,0 +1,11 @@
+<?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="added">
+    <description format="asciidoc">
+        Add missing setters to `Rfc5424LayoutBuilder`.
+    </description>
+</entry>

Reply via email to