LOG4J2-1326 MessageFactory changes to create a CharSequence-based Message
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/7b787396 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/7b787396 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/7b787396 Branch: refs/heads/LOG4J2-1356 Commit: 7b78739616d6e6c3983e1b453f6b015eb09e53ce Parents: b9c1e2f Author: rpopma <[email protected]> Authored: Thu Apr 7 22:16:43 2016 +0900 Committer: rpopma <[email protected]> Committed: Thu Apr 7 22:16:43 2016 +0900 ---------------------------------------------------------------------- .../org/apache/logging/log4j/message/MessageFactory2.java | 7 +++++++ .../apache/logging/log4j/message/ReusableMessageFactory.java | 7 +++++++ .../org/apache/logging/log4j/spi/MessageFactory2Adapter.java | 6 ++++++ 3 files changed, 20 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/7b787396/log4j-api/src/main/java/org/apache/logging/log4j/message/MessageFactory2.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/MessageFactory2.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/MessageFactory2.java index f363622..df729ca 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/MessageFactory2.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/MessageFactory2.java @@ -23,6 +23,13 @@ package org.apache.logging.log4j.message; */ public interface MessageFactory2 extends MessageFactory { /** + * Creates a new message for the specified CharSequence. + * @param charSequence the (potentially mutable) CharSequence + * @return a new message for the specified CharSequence + */ + Message newMessage(CharSequence charSequence); + + /** * Creates a new parameterized message. * * @param message a message template, the kind of message template depends on the implementation. http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/7b787396/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessageFactory.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessageFactory.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessageFactory.java index 706e31d..b29d842 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessageFactory.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessageFactory.java @@ -76,6 +76,13 @@ public final class ReusableMessageFactory implements MessageFactory2, Serializab return result; } + @Override + public Message newMessage(final CharSequence charSequence) { + ReusableSimpleMessage result = getSimple(); + result.set(charSequence); + return result; + } + /** * Creates {@link ReusableParameterizedMessage} instances. * http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/7b787396/log4j-api/src/main/java/org/apache/logging/log4j/spi/MessageFactory2Adapter.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/MessageFactory2Adapter.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/MessageFactory2Adapter.java index 2581b6c..ff31515 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/MessageFactory2Adapter.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/MessageFactory2Adapter.java @@ -21,6 +21,7 @@ import java.util.Objects; import org.apache.logging.log4j.message.Message; import org.apache.logging.log4j.message.MessageFactory; import org.apache.logging.log4j.message.MessageFactory2; +import org.apache.logging.log4j.message.SimpleMessage; /** * Adapts a legacy MessageFactory to the new MessageFactory2 interface. @@ -39,6 +40,11 @@ public class MessageFactory2Adapter implements MessageFactory2 { } @Override + public Message newMessage(final CharSequence charSequence) { + return new SimpleMessage(charSequence); + } + + @Override public Message newMessage(final String message, final Object p0) { return wrapped.newMessage(message, p0); }
