Repository: logging-log4j2
Updated Branches:
  refs/heads/master 3295f1138 -> 7030aaec7


Move flow message types with other messages in the message package and
have the message factory create these like other message to allow for
customization. The flow message implementation are still private for
now. TBD is how customize something as simple as the works "exit" and
"entry".

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/7030aaec
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/7030aaec
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/7030aaec

Branch: refs/heads/master
Commit: 7030aaec7aae64d1b8fce4a79717c5c0c03c227f
Parents: 3295f11
Author: ggregory <[email protected]>
Authored: Fri Feb 12 23:09:27 2016 -0800
Committer: ggregory <[email protected]>
Committed: Fri Feb 12 23:09:27 2016 -0800

----------------------------------------------------------------------
 .../log4j/message/AbstractMessageFactory.java   | 143 +++++++++++++++++++
 .../logging/log4j/message/MessageFactory.java   |   6 +
 .../logging/log4j/spi/AbstractLogger.java       | 136 ++----------------
 3 files changed, 159 insertions(+), 126 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/7030aaec/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 0db9b50..e1610a6 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,11 +26,154 @@ import java.io.Serializable;
  */
 public abstract class AbstractMessageFactory implements MessageFactory, 
Serializable {
 
+    private static class AbstactFlowMessage implements FlowMessage {
+
+        private static final long serialVersionUID = 1L;
+        private final Message message;
+        private final String text;
+
+        AbstactFlowMessage(final String text, final Message message) {
+            this.message = message;
+            this.text = text;
+        }
+
+        @Override
+        public String getFormattedMessage() {
+            if (message != null) {
+                return text + " " + message.getFormattedMessage();
+            }
+            return text;
+        }
+
+        @Override
+        public String getFormat() {
+            if (message != null) {
+                return text + ": " + message.getFormat();
+            }
+            return text;
+        }
+
+        @Override
+        public Object[] getParameters() {
+            if (message != null) {
+                return message.getParameters();
+            }
+            return null;
+        }
+
+        @Override
+        public Throwable getThrowable() {
+            if (message != null) {
+                return message.getThrowable();
+            }
+            return null;
+        }
+
+        @Override
+        public Message getMessage() {
+            return message;
+        }
+
+        @Override
+        public String getText() {
+            return text;
+        }
+
+        @Override
+        public String toString() {
+            final StringBuilder builder = new StringBuilder();
+            builder.append(getClass().getSimpleName());
+            builder.append(" [text=");
+            builder.append(text);
+            builder.append(", message=");
+            builder.append(message);
+            builder.append("]");
+            return builder.toString();
+        }
+    }
+
+    private static final class SimpleEntryMessage extends AbstactFlowMessage 
implements EntryMessage {
+
+        private static final String DEAULT_TEXT = "entry";
+        private static final long serialVersionUID = 1L;
+
+        SimpleEntryMessage(final Message message) {
+            super(DEAULT_TEXT, message);
+        }
+
+    }
+
+    private static final class SimpleExitMessage extends AbstactFlowMessage 
implements ExitMessage {
+
+        private static final String DEAULT_TEXT = "exit";
+        private static final long serialVersionUID = 1L;
+
+        private final Object result;
+        private final boolean isVoid;
+
+        SimpleExitMessage(final Object result, final EntryMessage message) {
+            super(DEAULT_TEXT, message.getMessage());
+            this.result = result;
+            isVoid = false;
+        }
+
+        SimpleExitMessage(final Object result, final Message message) {
+            super(DEAULT_TEXT, message);
+            this.result = result;
+            isVoid = false;
+        }
+
+        SimpleExitMessage(final Message message) {
+            super(DEAULT_TEXT, message);
+            this.result = null;
+            isVoid = true;
+        }
+
+        @Override
+        public String getFormattedMessage() {
+            final String formattedMessage = super.getFormattedMessage();
+            if (isVoid) {
+                return formattedMessage;
+            }
+            return formattedMessage + ": " + result;
+        }
+    }
+    
     private static final long serialVersionUID = 1L;
 
     /*
      * (non-Javadoc)
      *
+     * @see 
org.apache.logging.log4j.message.MessageFactory#newEntryMessage(org.apache.logging.log4j.message.Message)
+     */
+    @Override
+    public EntryMessage newEntryMessage(Message message) {
+        return new SimpleEntryMessage(message);
+    }
+    
+    /*
+     * (non-Javadoc)
+     *
+     * @see 
org.apache.logging.log4j.message.MessageFactory#newEntryMessage(java.lang.Object,
 org.apache.logging.log4j.message.EntryMessage)
+     */
+    @Override
+    public ExitMessage newExitMessage(Object object, EntryMessage message) {
+        return new SimpleExitMessage(object, message);
+    }
+    
+    /*
+     * (non-Javadoc)
+     *
+     * @see 
org.apache.logging.log4j.message.MessageFactory#newEntryMessage(java.lang.Object,
 org.apache.logging.log4j.message.Message)
+     */
+    @Override
+    public ExitMessage newExitMessage(Object object, Message message) {
+        return new SimpleExitMessage(object, message);
+    }
+    
+    /*
+     * (non-Javadoc)
+     *
      * @see 
org.apache.logging.log4j.message.MessageFactory#newMessage(java.lang.Object)
      */
     @Override

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/7030aaec/log4j-api/src/main/java/org/apache/logging/log4j/message/MessageFactory.java
----------------------------------------------------------------------
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/message/MessageFactory.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/message/MessageFactory.java
index 009d5a6..ec7fd23 100644
--- 
a/log4j-api/src/main/java/org/apache/logging/log4j/message/MessageFactory.java
+++ 
b/log4j-api/src/main/java/org/apache/logging/log4j/message/MessageFactory.java
@@ -54,4 +54,10 @@ public interface MessageFactory {
      * @see StringFormatterMessageFactory
      */
     Message newMessage(String message, Object... params);
+
+    EntryMessage newEntryMessage(Message message);
+
+    ExitMessage newExitMessage(Object object, Message message);
+
+    ExitMessage newExitMessage(Object object, EntryMessage message);
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/7030aaec/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
----------------------------------------------------------------------
diff --git 
a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java 
b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
index 7acb4f7..6b6bd66 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLogger.java
@@ -22,8 +22,6 @@ import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.Marker;
 import org.apache.logging.log4j.MarkerManager;
 import org.apache.logging.log4j.message.EntryMessage;
-import org.apache.logging.log4j.message.ExitMessage;
-import org.apache.logging.log4j.message.FlowMessage;
 import org.apache.logging.log4j.message.Message;
 import org.apache.logging.log4j.message.MessageFactory;
 import org.apache.logging.log4j.message.ParameterizedMessageFactory;
@@ -350,9 +348,9 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
      * @param msgSupplier The Supplier of the Message.
      */
     protected EntryMessage enter(final String fqcn, final MessageSupplier 
msgSupplier) {
-        SimpleEntryMessage message = null;
+        EntryMessage message = null;
         if (isEnabled(Level.TRACE, ENTRY_MARKER, (Object) null, null)) {
-            logMessage(fqcn, Level.TRACE, ENTRY_MARKER, message = new 
SimpleEntryMessage(msgSupplier.get()), null);
+            logMessage(fqcn, Level.TRACE, ENTRY_MARKER, message = 
messageFactory.newEntryMessage(msgSupplier.get()), null);
         }
         return message;
     }
@@ -387,14 +385,14 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
         final int count = params == null ? 0 : params.length;
         if (count == 0) {
             if (Strings.isEmpty(format)) {
-                return new SimpleEntryMessage(null);
+                return messageFactory.newEntryMessage(null);
             }
-            return new SimpleEntryMessage(messageFactory.newMessage(format));
+            return 
messageFactory.newEntryMessage(messageFactory.newMessage(format));
         }
         final StringBuilder sb = new StringBuilder();
         if (format != null) {
             sb.append(format);
-            return new 
SimpleEntryMessage(messageFactory.newMessage(sb.toString(), params));
+            return 
messageFactory.newEntryMessage(messageFactory.newMessage(sb.toString(), 
params));
         }
         sb.append("params(");
         for (int i = 0; i < count; i++) {
@@ -405,7 +403,7 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
             }
         }
         sb.append(')');
-        return new 
SimpleEntryMessage(messageFactory.newMessage(sb.toString()));
+        return 
messageFactory.newEntryMessage(messageFactory.newMessage(sb.toString()));
     }
 
     protected EntryMessage entryMsg(final String format, final 
MessageSupplier... paramSuppliers) {
@@ -1367,7 +1365,7 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
             logMessage(FQCN, Level.TRACE, EXIT_MARKER, new MessageSupplier() {
                 @Override
                 public Message get() {
-                    return new SimpleExitMessage(result, 
messageSupplier.get());
+                    return messageFactory.newExitMessage(result, 
messageSupplier.get());
                 };
             }, null);
         }
@@ -1380,7 +1378,7 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
             logMessage(FQCN, Level.TRACE, EXIT_MARKER, new MessageSupplier() {
                 @Override
                 public Message get() {
-                    return new SimpleExitMessage(result, 
messageSupplier.get());
+                    return messageFactory.newExitMessage(result, 
messageSupplier.get());
                 };
             }, null);
         }
@@ -1393,7 +1391,7 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
             logMessage(FQCN, Level.TRACE, EXIT_MARKER, new MessageSupplier() {
                 @Override
                 public Message get() {
-                    return new SimpleExitMessage(result, message);
+                    return messageFactory.newExitMessage(result, message);
                 };
             }, null);
         }
@@ -1406,7 +1404,7 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
             logMessage(FQCN, Level.TRACE, EXIT_MARKER, new MessageSupplier() {
                 @Override
                 public Message get() {
-                    return new SimpleExitMessage(result, message);
+                    return messageFactory.newExitMessage(result, message);
                 };
             }, null);
         }
@@ -1532,118 +1530,4 @@ public abstract class AbstractLogger implements 
ExtendedLogger, Serializable {
     public void warn(final MessageSupplier msgSupplier, final Throwable t) {
         logIfEnabled(FQCN, Level.WARN, null, msgSupplier, t);
     }
-
-    private static class AbstactFlowMessage implements FlowMessage {
-
-        private static final long serialVersionUID = 1L;
-        private final Message message;
-        private final String text;
-
-        AbstactFlowMessage(final String text, final Message message) {
-            this.message = message;
-            this.text = text;
-        }
-
-        @Override
-        public String getFormattedMessage() {
-            if (message != null) {
-                return text + " " + message.getFormattedMessage();
-            }
-            return text;
-        }
-
-        @Override
-        public String getFormat() {
-            if (message != null) {
-                return text + ": " + message.getFormat();
-            }
-            return text;
-        }
-
-        @Override
-        public Object[] getParameters() {
-            if (message != null) {
-                return message.getParameters();
-            }
-            return null;
-        }
-
-        @Override
-        public Throwable getThrowable() {
-            if (message != null) {
-                return message.getThrowable();
-            }
-            return null;
-        }
-
-        @Override
-        public Message getMessage() {
-            return message;
-        }
-
-        @Override
-        public String getText() {
-            return text;
-        }
-
-        @Override
-        public String toString() {
-            final StringBuilder builder = new StringBuilder();
-            builder.append(getClass().getSimpleName());
-            builder.append(" [text=");
-            builder.append(text);
-            builder.append(", message=");
-            builder.append(message);
-            builder.append("]");
-            return builder.toString();
-        }
-    }
-
-    private static final class SimpleEntryMessage extends AbstactFlowMessage 
implements EntryMessage {
-
-        private static final String DEAULT_TEXT = "entry";
-        private static final long serialVersionUID = 1L;
-
-        SimpleEntryMessage(final Message message) {
-            super(DEAULT_TEXT, message);
-        }
-
-    }
-
-    private static final class SimpleExitMessage extends AbstactFlowMessage 
implements ExitMessage {
-
-        private static final String DEAULT_TEXT = "exit";
-        private static final long serialVersionUID = 1L;
-
-        private final Object result;
-        private final boolean isVoid;
-
-        SimpleExitMessage(final Object result, final EntryMessage message) {
-            super(DEAULT_TEXT, message.getMessage());
-            this.result = result;
-            isVoid = false;
-        }
-
-        SimpleExitMessage(final Object result, final Message message) {
-            super(DEAULT_TEXT, message);
-            this.result = result;
-            isVoid = false;
-        }
-
-        SimpleExitMessage(final Message message) {
-            super(DEAULT_TEXT, message);
-            this.result = null;
-            isVoid = true;
-        }
-
-        @Override
-        public String getFormattedMessage() {
-            final String formattedMessage = super.getFormattedMessage();
-            if (isVoid) {
-                return formattedMessage;
-            }
-            return formattedMessage + ": " + result;
-        }
-
-    }
 }

Reply via email to