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);
     }
     
     /*

Reply via email to