Repository: logging-log4j2 Updated Branches: refs/heads/master 42d352c84 -> 95717ca85
Refactor to allow subclasses to plugin their own "entry" and "exit" text. For example, I have a use case where the values are "Enter" and "Exit". Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/95717ca8 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/95717ca8 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/95717ca8 Branch: refs/heads/master Commit: 95717ca8549bc33b70acfc0be33ae1ec92249d37 Parents: 42d352c Author: ggregory <[email protected]> Authored: Sat Feb 13 15:19:23 2016 -0800 Committer: ggregory <[email protected]> Committed: Sat Feb 13 15:19:23 2016 -0800 ---------------------------------------------------------------------- .../log4j/message/AbstractMessageFactory.java | 47 +++++++++++++------- 1 file changed, 30 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/95717ca8/log4j-api/src/main/java/org/apache/logging/log4j/message/AbstractMessageFactory.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/AbstractMessageFactory.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/AbstractMessageFactory.java index fa3fb68..a3eb583 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/message/AbstractMessageFactory.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/AbstractMessageFactory.java @@ -26,6 +26,27 @@ import java.io.Serializable; */ public abstract class AbstractMessageFactory implements MessageFactory, Serializable { + /** + * Constructs an AbstractMessageFactory with the "entry" and "exit" strings. + */ + public AbstractMessageFactory() { + this("entry", "exit"); + } + + /** + * Constructs an AbstractMessageFactory with the given entry and exit strings. + * @param entryText the text to use for trace entry, like "entry". + * @param exitText the text to use for trace exit, like "exit". + */ + public AbstractMessageFactory(String entryText, String exitText) { + super(); + this.entryText = entryText; + this.exitText = exitText; + } + + private String entryText; + private String exitText; + private static class AbstractFlowMessage extends AbstractMessage implements FlowMessage { private static final long serialVersionUID = 1L; @@ -82,41 +103,33 @@ public abstract class AbstractMessageFactory implements MessageFactory, Serializ private static final class SimpleEntryMessage extends AbstractFlowMessage implements EntryMessage { - private static final String DEFAULT_TEXT = "entry"; private static final long serialVersionUID = 1L; - SimpleEntryMessage(final Message message) { - super(DEFAULT_TEXT, message); + SimpleEntryMessage(String entryText, final Message message) { + super(entryText, message); } } private static final class SimpleExitMessage extends AbstractFlowMessage implements ExitMessage { - private static final String DEFAULT_TEXT = "exit"; private static final long serialVersionUID = 1L; private final Object result; private final boolean isVoid; - SimpleExitMessage(final Object result, final EntryMessage message) { - super(DEFAULT_TEXT, message.getMessage()); + SimpleExitMessage(String exitText, final Object result, final EntryMessage message) { + super(exitText, message.getMessage()); this.result = result; isVoid = false; } - SimpleExitMessage(final Object result, final Message message) { - super(DEFAULT_TEXT, message); + SimpleExitMessage(String exitText, final Object result, final Message message) { + super(exitText, message); this.result = result; isVoid = false; } - SimpleExitMessage(final Message message) { - super(DEFAULT_TEXT, message); - this.result = null; - isVoid = true; - } - @Override public String getFormattedMessage() { final String formattedMessage = super.getFormattedMessage(); @@ -136,7 +149,7 @@ public abstract class AbstractMessageFactory implements MessageFactory, Serializ */ @Override public EntryMessage newEntryMessage(Message message) { - return new SimpleEntryMessage(message); + return new SimpleEntryMessage(entryText, message); } /* @@ -146,7 +159,7 @@ public abstract class AbstractMessageFactory implements MessageFactory, Serializ */ @Override public ExitMessage newExitMessage(Object object, EntryMessage message) { - return new SimpleExitMessage(object, message); + return new SimpleExitMessage(exitText, object, message); } /* @@ -156,7 +169,7 @@ public abstract class AbstractMessageFactory implements MessageFactory, Serializ */ @Override public ExitMessage newExitMessage(Object object, Message message) { - return new SimpleExitMessage(object, message); + return new SimpleExitMessage(exitText, object, message); } /*
