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>