Repository: logging-log4j2
Updated Branches:
  refs/heads/master e07c41fc7 -> e191b13c4


refactor #format into small methods with single responsibility


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

Branch: refs/heads/master
Commit: e191b13c4c9c9080b449a3e9379474525e2a4735
Parents: e07c41f
Author: rpopma <rpo...@apache.org>
Authored: Sun Feb 14 20:05:20 2016 +0900
Committer: rpopma <rpo...@apache.org>
Committed: Sun Feb 14 20:05:20 2016 +0900

----------------------------------------------------------------------
 .../core/pattern/MessagePatternConverter.java   | 40 ++++++++++++--------
 1 file changed, 25 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e191b13c/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
index d0adc7f..ba6c6df 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/MessagePatternConverter.java
@@ -29,8 +29,8 @@ import org.apache.logging.log4j.message.MultiformatMessage;
 @ConverterKeys({ "m", "msg", "message" })
 public final class MessagePatternConverter extends LogEventPatternConverter {
 
+    private static final String NULL = "null";
     private final String[] formats;
-
     private final Configuration config;
 
     /**
@@ -59,20 +59,30 @@ public final class MessagePatternConverter extends 
LogEventPatternConverter {
      */
     @Override
     public void format(final LogEvent event, final StringBuilder toAppendTo) {
-        final Message msg = event.getMessage();
-        if (msg != null) {
-            String result;
-            if (msg instanceof MultiformatMessage) {
-                result = ((MultiformatMessage) 
msg).getFormattedMessage(formats);
-            } else {
-                result = msg.getFormattedMessage();
-            }
-            if (result != null) {
-                toAppendTo.append(config != null && result.contains("${") ?
-                    config.getStrSubstitutor().replace(event, result) : 
result);
-            } else {
-                toAppendTo.append("null");
-            }
+        final String result = messageString(event);
+        if (result == NULL) {
+            toAppendTo.append(NULL);
+        } else {
+            toAppendTo.append(replaceParams(event, result));
+        }
+    }
+
+    private String replaceParams(final LogEvent event, final String result) {
+        return config != null && result.contains("${") ?
+            config.getStrSubstitutor().replace(event, result) : result;
+    }
+
+    private String messageString(final LogEvent event) {
+        return messageString(event.getMessage());
+    }
+
+    private String messageString(final Message msg) {
+        String result;
+        if (msg instanceof MultiformatMessage) {
+            result = ((MultiformatMessage) msg).getFormattedMessage(formats);
+        } else {
+            result = msg == null ? NULL : msg.getFormattedMessage();
         }
+        return result;
     }
 }

Reply via email to