You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2016/07/23 04:13:07 UTC

[16/17] logging-log4j2 git commit: Refactor default style map init code. Have more fun with styles.

Refactor default style map init code. Have more fun with styles.

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

Branch: refs/heads/master
Commit: 202592f7d790394146c8841966bcd0f160b27513
Parents: 91e3cbc
Author: Gary Gregory <gg...@apache.org>
Authored: Wed Jul 20 14:31:19 2016 -0700
Committer: Gary Gregory <gg...@apache.org>
Committed: Wed Jul 20 14:31:19 2016 -0700

----------------------------------------------------------------------
 .../logging/log4j/core/impl/ThrowableProxy.java |   4 +-
 .../log4j/core/pattern/JAnsiTextRenderer.java   | 114 +++++++++++--------
 src/site/xdoc/manual/layouts.xml.vm             |   1 +
 3 files changed, 67 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/202592f7/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableProxy.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableProxy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableProxy.java
index 14fa258..91093bf 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableProxy.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/impl/ThrowableProxy.java
@@ -234,7 +234,7 @@ public class ThrowableProxy implements Serializable {
         final String msg = this.message;
         textRenderer.render(this.name, output, "Name");
         if (msg != null) {
-            textRenderer.render(": ", output, "Text");
+            textRenderer.render(": ", output, "NameMessageSeparator");
             textRenderer.render(msg, output, "Message");
         }
     }
@@ -450,7 +450,7 @@ public class ThrowableProxy implements Serializable {
     public String getExtendedStackTraceAsString(final List<String> ignorePackages, final TextRenderer textRenderer) {
         final StringBuilder sb = new StringBuilder(1024);
         textRenderer.render(name, sb, "Name");
-        textRenderer.render(": ", sb, "Text");
+        textRenderer.render(": ", sb, "NameMessageSeparator");
         textRenderer.render(this.message, sb, "Message");
         textRenderer.render(EOL_STR, sb, "Text");
         final StackTraceElement[] causedTrace = this.throwable != null ? this.throwable.getStackTrace() : null;

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/202592f7/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/JAnsiTextRenderer.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/JAnsiTextRenderer.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/JAnsiTextRenderer.java
index 6c26e29..1b65b48 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/JAnsiTextRenderer.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/JAnsiTextRenderer.java
@@ -16,6 +16,14 @@
  */
 package org.apache.logging.log4j.core.pattern;
 
+import static org.fusesource.jansi.AnsiRenderer.Code.BG_RED;
+import static org.fusesource.jansi.AnsiRenderer.Code.BOLD;
+import static org.fusesource.jansi.AnsiRenderer.Code.CYAN;
+import static org.fusesource.jansi.AnsiRenderer.Code.GREEN;
+import static org.fusesource.jansi.AnsiRenderer.Code.RED;
+import static org.fusesource.jansi.AnsiRenderer.Code.WHITE;
+import static org.fusesource.jansi.AnsiRenderer.Code.YELLOW;
+
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Locale;
@@ -76,72 +84,78 @@ public final class JAnsiTextRenderer implements TextRenderer {
 
     public static final Map<String, Code[]> DefaultExceptionStyleMap;
     static final Map<String, Code[]> DefaultMessageStyleMap;
-    private static final Map<String,Map<String, Code[]>> PrefedinedStyleMaps;
+    private static final Map<String, Map<String, Code[]>> PrefedinedStyleMaps;
+
+    private static void put(Map<String, Code[]> map, String name, Code... codes) {
+        map.put(name, codes);
+    }
 
     static {
-        Map<String,Map<String, Code[]>> tempPreDefs  = new HashMap<>();
+        Map<String, Map<String, Code[]>> tempPreDefs = new HashMap<>();
         // Default style: Spock
         {
             // TODO Should the keys be in an enum?
-            Map<String, Code[]> temp = new HashMap<>();
-            temp.put("Prefix", new Code[] { Code.WHITE });
-            temp.put("Name", new Code[] { Code.BG_RED, Code.WHITE });
-            temp.put("Message", new Code[] { Code.BG_RED, Code.WHITE, Code.BOLD });
-            temp.put("At", new Code[] { Code.WHITE });
-            temp.put("CauseLabel", new Code[] { Code.WHITE });
-            temp.put("Text", new Code[] { Code.WHITE });
-            temp.put("More", new Code[] { Code.WHITE });
-            temp.put("Suppressed", new Code[] { Code.WHITE });
+            Map<String, Code[]> map = new HashMap<>();
+            put(map, "Prefix", WHITE);
+            put(map, "Name", BG_RED, WHITE);
+            put(map, "NameMessageSeparator", BG_RED, WHITE);
+            put(map, "Message", BG_RED, WHITE, BOLD);
+            put(map, "At", WHITE);
+            put(map, "CauseLabel", WHITE);
+            put(map, "Text", WHITE);
+            put(map, "More", WHITE);
+            put(map, "Suppressed", WHITE);
             // StackTraceElement
-            temp.put("StackTraceElement.ClassName", new Code[] { Code.YELLOW });
-            temp.put("StackTraceElement.ClassMethodSeparator", new Code[] { Code.YELLOW });
-            temp.put("StackTraceElement.MethodName", new Code[] { Code.YELLOW });
-            temp.put("StackTraceElement.NativeMethod", new Code[] { Code.YELLOW });
-            temp.put("StackTraceElement.FileName", new Code[] { Code.CYAN });
-            temp.put("StackTraceElement.LineNumber", new Code[] { Code.CYAN });
-            temp.put("StackTraceElement.Container", new Code[] { Code.CYAN });
-            temp.put("StackTraceElement.ContainerSeparator", new Code[] { Code.WHITE});
-            temp.put("StackTraceElement.UnknownSource", new Code[] { Code.CYAN });
+            put(map, "StackTraceElement.ClassName", YELLOW);
+            put(map, "StackTraceElement.ClassMethodSeparator", YELLOW);
+            put(map, "StackTraceElement.MethodName", YELLOW);
+            put(map, "StackTraceElement.NativeMethod", YELLOW);
+            put(map, "StackTraceElement.FileName", RED);
+            put(map, "StackTraceElement.LineNumber", RED);
+            put(map, "StackTraceElement.Container", RED);
+            put(map, "StackTraceElement.ContainerSeparator", WHITE);
+            put(map, "StackTraceElement.UnknownSource", RED);
             // ExtraClassInfo
-            temp.put("ExtraClassInfo.Inexact", new Code[] { Code.CYAN });
-            temp.put("ExtraClassInfo.Container", new Code[] { Code.GREEN });
-            temp.put("ExtraClassInfo.ContainerSeparator", new Code[] { Code.WHITE });
-            temp.put("ExtraClassInfo.Location", new Code[] { Code.GREEN });
-            temp.put("ExtraClassInfo.Version", new Code[] { Code.GREEN });
+            put(map, "ExtraClassInfo.Inexact", YELLOW);
+            put(map, "ExtraClassInfo.Container", YELLOW);
+            put(map, "ExtraClassInfo.ContainerSeparator", YELLOW);
+            put(map, "ExtraClassInfo.Location", YELLOW);
+            put(map, "ExtraClassInfo.Version", YELLOW);
             // Save
-            DefaultExceptionStyleMap = Collections.unmodifiableMap(temp);
+            DefaultExceptionStyleMap = Collections.unmodifiableMap(map);
             tempPreDefs.put("Spock", DefaultExceptionStyleMap);
         }
         // Style: Kirk
         {
             // TODO Should the keys be in an enum?
-            Map<String, Code[]> temp = new HashMap<>();
-            temp.put("Prefix", new Code[] { Code.WHITE });
-            temp.put("Name", new Code[] { Code.BG_RED, Code.YELLOW });
-            temp.put("Message", new Code[] { Code.BG_RED, Code.WHITE, Code.BOLD });
-            temp.put("At", new Code[] { Code.WHITE });
-            temp.put("CauseLabel", new Code[] { Code.WHITE });
-            temp.put("Text", new Code[] { Code.WHITE });
-            temp.put("More", new Code[] { Code.WHITE });
-            temp.put("Suppressed", new Code[] { Code.WHITE });
+            Map<String, Code[]> map = new HashMap<>();
+            put(map, "Prefix", WHITE);
+            put(map, "Name", BG_RED, YELLOW, BOLD);
+            put(map, "NameMessageSeparator", BG_RED, YELLOW);
+            put(map, "Message", BG_RED, WHITE, BOLD);
+            put(map, "At", WHITE);
+            put(map, "CauseLabel", WHITE);
+            put(map, "Text", WHITE);
+            put(map, "More", WHITE);
+            put(map, "Suppressed", WHITE);
             // StackTraceElement
-            temp.put("StackTraceElement.ClassName", new Code[] { Code.BG_RED, Code.WHITE });
-            temp.put("StackTraceElement.ClassMethodSeparator", new Code[] { Code.BG_RED, Code.YELLOW });
-            temp.put("StackTraceElement.MethodName", new Code[] { Code.BG_RED, Code.YELLOW });
-            temp.put("StackTraceElement.NativeMethod", new Code[] { Code.BG_RED, Code.YELLOW });
-            temp.put("StackTraceElement.FileName", new Code[] { Code.CYAN });
-            temp.put("StackTraceElement.LineNumber", new Code[] { Code.CYAN });
-            temp.put("StackTraceElement.Container", new Code[] { Code.CYAN });
-            temp.put("StackTraceElement.ContainerSeparator", new Code[] { Code.WHITE});
-            temp.put("StackTraceElement.UnknownSource", new Code[] { Code.CYAN });
+            put(map, "StackTraceElement.ClassName", BG_RED, WHITE);
+            put(map, "StackTraceElement.ClassMethodSeparator", BG_RED, YELLOW);
+            put(map, "StackTraceElement.MethodName", BG_RED, YELLOW);
+            put(map, "StackTraceElement.NativeMethod", BG_RED, YELLOW);
+            put(map, "StackTraceElement.FileName", RED);
+            put(map, "StackTraceElement.LineNumber", RED);
+            put(map, "StackTraceElement.Container", RED);
+            put(map, "StackTraceElement.ContainerSeparator", WHITE);
+            put(map, "StackTraceElement.UnknownSource", RED);
             // ExtraClassInfo
-            temp.put("ExtraClassInfo.Inexact", new Code[] { Code.CYAN });
-            temp.put("ExtraClassInfo.Container", new Code[] { Code.GREEN });
-            temp.put("ExtraClassInfo.ContainerSeparator", new Code[] { Code.WHITE });
-            temp.put("ExtraClassInfo.Location", new Code[] { Code.GREEN });
-            temp.put("ExtraClassInfo.Version", new Code[] { Code.GREEN });
+            put(map, "ExtraClassInfo.Inexact", YELLOW);
+            put(map, "ExtraClassInfo.Container", WHITE);
+            put(map, "ExtraClassInfo.ContainerSeparator", WHITE);
+            put(map, "ExtraClassInfo.Location", YELLOW);
+            put(map, "ExtraClassInfo.Version", YELLOW);
             // Save
-            tempPreDefs.put("Kirk", Collections.unmodifiableMap(temp));
+            tempPreDefs.put("Kirk", Collections.unmodifiableMap(map));
         }
         {
             Map<String, Code[]> temp = new HashMap<>();

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/202592f7/src/site/xdoc/manual/layouts.xml.vm
----------------------------------------------------------------------
diff --git a/src/site/xdoc/manual/layouts.xml.vm b/src/site/xdoc/manual/layouts.xml.vm
index 894709b..0a5123b 100644
--- a/src/site/xdoc/manual/layouts.xml.vm
+++ b/src/site/xdoc/manual/layouts.xml.vm
@@ -1470,6 +1470,7 @@ WARN  [main]: Message 2</pre>
                   <ul>
                     <li>Prefix</li>
                     <li>Name</li>
+                    <li>NameMessageSeparator</li>
                     <li>Message</li>
                     <li>At</li>
                     <li>CauseLabel</li>