You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2017/08/26 20:53:37 UTC

[19/50] logging-log4j2 git commit: [LOG4J2-1999] HighlightConverter converts all unrecognized levels to DEBUG.

[LOG4J2-1999] HighlightConverter converts all unrecognized levels to
DEBUG.
      

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

Branch: refs/heads/LOG4J2-1431
Commit: 40582bee4e7a4946a1c87738084f1e98cbe42541
Parents: 17e3d41
Author: Gary Gregory <ga...@gmail.com>
Authored: Mon Aug 21 16:21:01 2017 -0600
Committer: Gary Gregory <ga...@gmail.com>
Committed: Mon Aug 21 16:21:01 2017 -0600

----------------------------------------------------------------------
 .../log4j/core/pattern/HighlightConverter.java  | 10 ++++--
 .../core/pattern/HighlightConverterTest.java    | 34 ++++++++++++++++++++
 src/changes/changes.xml                         |  3 ++
 3 files changed, 44 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/40582bee/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/HighlightConverter.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/HighlightConverter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/HighlightConverter.java
index 5ab92bd..c4b9703 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/HighlightConverter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/pattern/HighlightConverter.java
@@ -163,10 +163,9 @@ public final class HighlightConverter extends LogEventPatternConverter implement
                     levelStyles.putAll(enumMap);
                 }
             } else {
-                final Level level = Level.toLevel(key);
+                final Level level = Level.toLevel(key, null);
                 if (level == null) {
-                    LOGGER.error("Unknown level name: " + key + ". Use one of " +
-                        Arrays.toString(DEFAULT_STYLES.keySet().toArray()));
+                    LOGGER.error("Unknown level name: {}; use one of {}", key, Arrays.toString(Level.values()));
                 } else {
                     levelStyles.put(level, value);
                 }
@@ -253,6 +252,10 @@ public final class HighlightConverter extends LogEventPatternConverter implement
         }
     }
 
+    String getLevelStyle(Level level) {
+        return levelStyles.get(level);
+    }
+
     @Override
     public boolean handlesThrowable() {
         for (final PatternFormatter formatter : patternFormatters) {
@@ -262,4 +265,5 @@ public final class HighlightConverter extends LogEventPatternConverter implement
         }
         return false;
     }
+
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/40582bee/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/HighlightConverterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/HighlightConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/HighlightConverterTest.java
index 37b803b..c3b1ba6 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/HighlightConverterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/HighlightConverterTest.java
@@ -19,8 +19,10 @@ import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.impl.Log4jLogEvent;
 import org.apache.logging.log4j.message.SimpleMessage;
+import org.junit.Assert;
 import org.junit.Test;
 
+
 import static org.junit.Assert.*;
 
 /**
@@ -51,6 +53,38 @@ public class HighlightConverterTest {
         converter.format(event, buffer);
         assertEquals("\u001B[32mINFO : message in a bottle\u001B[m", buffer.toString());
     }
+    
+    @Test
+    public void testLevelNamesBad() {
+        String colorName = "red";
+        final String[] options = { "%-5level: %msg", PatternParser.NO_CONSOLE_NO_ANSI + "=false, "
+                + PatternParser.DISABLE_ANSI + "=false, " + "BAD_LEVEL_A=" + colorName + ", BAD_LEVEL_B=" + colorName };
+        final HighlightConverter converter = HighlightConverter.newInstance(null, options);
+        Assert.assertNotNull(converter);
+        Assert.assertNotNull(converter.getLevelStyle(Level.TRACE));
+        Assert.assertNotNull(converter.getLevelStyle(Level.DEBUG));
+    }
+
+    @Test
+    public void testLevelNamesGood() {
+        String colorName = "red";
+        final String[] options = { "%-5level: %msg", PatternParser.NO_CONSOLE_NO_ANSI + "=false, "
+                + PatternParser.DISABLE_ANSI + "=false, " + "DEBUG=" + colorName + ", TRACE=" + colorName };
+        final HighlightConverter converter = HighlightConverter.newInstance(null, options);
+        Assert.assertNotNull(converter);
+        Assert.assertEquals(AnsiEscape.createSequence(colorName), converter.getLevelStyle(Level.TRACE));
+        Assert.assertEquals(AnsiEscape.createSequence(colorName), converter.getLevelStyle(Level.DEBUG));
+    }
+
+    @Test
+    public void testLevelNamesNone() {
+        final String[] options = { "%-5level: %msg",
+                PatternParser.NO_CONSOLE_NO_ANSI + "=false, " + PatternParser.DISABLE_ANSI + "=false" };
+        final HighlightConverter converter = HighlightConverter.newInstance(null, options);
+        Assert.assertNotNull(converter);
+        Assert.assertNotNull(converter.getLevelStyle(Level.TRACE));
+        Assert.assertNotNull(converter.getLevelStyle(Level.DEBUG));
+    }
 
     @Test
     public void testNoAnsiEmpty() {

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/40582bee/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 5ebf604..7747d37 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -43,6 +43,9 @@
       <action issue="LOG4J2-2001" dev="ggregory" type="fix" due-to="Paul Burrowes">
         StyleConverter.newInstance argument validation is incorrect.
       </action>
+      <action issue="LOG4J2-1999" dev="ggregory" type="fix" due-to="Paul Burrowes">
+        HighlightConverter converts all unrecognized levels to DEBUG.
+      </action>
       <action issue="LOG4J2-2013" dev="ggregory" type="fix" due-to="Taylor Patton, Gary Gregory">
         SslSocketManager does not apply SSLContext on TCP reconnect.
       </action>