This is an automated email from the ASF dual-hosted git repository. pkarwasz pushed a commit to branch fix/backport-log4j3-api in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit 486289cfd3a087b3412cff53788100249016db3d Author: Piotr P. Karwasz <[email protected]> AuthorDate: Thu Mar 14 16:14:04 2024 +0100 Adapt `ReusableMessage` to be used in 3.x --- .../logging/log4j/message/ReusableMessage.java | 8 ++++++++ .../message/ReusableParameterizedMessage.java | 23 +++++++++++----------- .../apache/logging/log4j/message/package-info.java | 2 +- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java index 35e8fa3919..5a5d264e68 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java @@ -18,6 +18,7 @@ package org.apache.logging.log4j.message; import org.apache.logging.log4j.util.PerformanceSensitive; import org.apache.logging.log4j.util.StringBuilderFormattable; +import org.osgi.annotation.versioning.ProviderType; /** * Messages implementing this interface are reused between logging calls. @@ -29,6 +30,7 @@ import org.apache.logging.log4j.util.StringBuilderFormattable; * @since 2.6 */ @PerformanceSensitive("allocation") +@ProviderType public interface ReusableMessage extends Message, StringBuilderFormattable { /** @@ -69,4 +71,10 @@ public interface ReusableMessage extends Message, StringBuilderFormattable { * @return an immutable snapshot of this message */ Message memento(); + + /** + * Resets the object to a clean state. + * @since 2.24.0 + */ + void clear(); } diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java index d55b98ae70..053a5bf8f1 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java @@ -135,26 +135,27 @@ public class ReusableParameterizedMessage implements ReusableMessage, ParameterV return null; } - ReusableParameterizedMessage set(final String messagePattern, final Object... arguments) { + public ReusableParameterizedMessage set(final String messagePattern, final Object... arguments) { init(messagePattern, arguments == null ? 0 : arguments.length, arguments); varargs = arguments; return this; } - ReusableParameterizedMessage set(final String messagePattern, final Object p0) { + public ReusableParameterizedMessage set(final String messagePattern, final Object p0) { params[0] = p0; init(messagePattern, 1, params); return this; } - ReusableParameterizedMessage set(final String messagePattern, final Object p0, final Object p1) { + public ReusableParameterizedMessage set(final String messagePattern, final Object p0, final Object p1) { params[0] = p0; params[1] = p1; init(messagePattern, 2, params); return this; } - ReusableParameterizedMessage set(final String messagePattern, final Object p0, final Object p1, final Object p2) { + public ReusableParameterizedMessage set( + final String messagePattern, final Object p0, final Object p1, final Object p2) { params[0] = p0; params[1] = p1; params[2] = p2; @@ -162,7 +163,7 @@ public class ReusableParameterizedMessage implements ReusableMessage, ParameterV return this; } - ReusableParameterizedMessage set( + public ReusableParameterizedMessage set( final String messagePattern, final Object p0, final Object p1, final Object p2, final Object p3) { params[0] = p0; params[1] = p1; @@ -172,7 +173,7 @@ public class ReusableParameterizedMessage implements ReusableMessage, ParameterV return this; } - ReusableParameterizedMessage set( + public ReusableParameterizedMessage set( final String messagePattern, final Object p0, final Object p1, @@ -188,7 +189,7 @@ public class ReusableParameterizedMessage implements ReusableMessage, ParameterV return this; } - ReusableParameterizedMessage set( + public ReusableParameterizedMessage set( final String messagePattern, final Object p0, final Object p1, @@ -206,7 +207,7 @@ public class ReusableParameterizedMessage implements ReusableMessage, ParameterV return this; } - ReusableParameterizedMessage set( + public ReusableParameterizedMessage set( final String messagePattern, final Object p0, final Object p1, @@ -226,7 +227,7 @@ public class ReusableParameterizedMessage implements ReusableMessage, ParameterV return this; } - ReusableParameterizedMessage set( + public ReusableParameterizedMessage set( final String messagePattern, final Object p0, final Object p1, @@ -248,7 +249,7 @@ public class ReusableParameterizedMessage implements ReusableMessage, ParameterV return this; } - ReusableParameterizedMessage set( + public ReusableParameterizedMessage set( final String messagePattern, final Object p0, final Object p1, @@ -272,7 +273,7 @@ public class ReusableParameterizedMessage implements ReusableMessage, ParameterV return this; } - ReusableParameterizedMessage set( + public ReusableParameterizedMessage set( final String messagePattern, final Object p0, final Object p1, diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/package-info.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/package-info.java index 49286fab77..24632f8d7b 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/package-info.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/package-info.java @@ -22,7 +22,7 @@ /** * Bumped to 2.22.0, since FormattedMessage behavior changed. */ -@Version("2.22.0") +@Version("2.24.0") package org.apache.logging.log4j.message; import org.osgi.annotation.bundle.Export;
