[LOG4J2-1559] Check proper value in LevelRangeFilter. Closes #42. Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/3c2148e8 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/3c2148e8 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/3c2148e8
Branch: refs/heads/LOG4J2-1349-gcfree-threadcontext Commit: 3c2148e81e7351f2108f3f5a2e26af8ea49804d9 Parents: 5c99b6b Author: ggregory <ggreg...@apache.org> Authored: Sat Sep 3 14:51:56 2016 -0400 Committer: ggregory <ggreg...@apache.org> Committed: Sat Sep 3 14:51:56 2016 -0400 ---------------------------------------------------------------------- .../apache/logging/log4j/core/filter/LevelRangeFilter.java | 2 +- .../logging/log4j/core/filter/LevelRangeFilterTest.java | 9 +++++++++ src/changes/changes.xml | 3 +++ 3 files changed, 13 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3c2148e8/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java index 58cb257..2530c41 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/LevelRangeFilter.java @@ -61,7 +61,7 @@ public final class LevelRangeFilter extends AbstractFilter { @PluginAttribute("onMismatch") final Result mismatch) { // @formatter:on final Level actualMinLevel = minLevel == null ? Level.ERROR : minLevel; - final Level actualMaxLevel = minLevel == null ? Level.ERROR : maxLevel; + final Level actualMaxLevel = maxLevel == null ? Level.ERROR : maxLevel; final Result onMatch = match == null ? Result.NEUTRAL : match; final Result onMismatch = mismatch == null ? Result.DENY : mismatch; return new LevelRangeFilter(actualMinLevel, actualMaxLevel, onMatch, onMismatch); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3c2148e8/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/LevelRangeFilterTest.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/LevelRangeFilterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/LevelRangeFilterTest.java index 4deb468..b99c6a9 100644 --- a/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/LevelRangeFilterTest.java +++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/LevelRangeFilterTest.java @@ -48,4 +48,13 @@ public class LevelRangeFilterTest { .build(); assertSame(Filter.Result.NEUTRAL, filter.filter(event)); } + + @Test + public void testMinimumOnlyLevel() { + final LevelRangeFilter filter = LevelRangeFilter.createFilter(Level.ERROR, null, null, null); + filter.start(); + assertTrue(filter.isStarted()); + assertSame(Filter.Result.NEUTRAL, filter.filter(null, Level.ERROR, null, (Object) null, (Throwable) null)); + } + } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3c2148e8/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 994c0e1..f8fef10 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -24,6 +24,9 @@ </properties> <body> <release version="2.7" date="2016-MM-DD" description="GA Release 2.7"> + <action issue="LOG4J2-1559" dev="ggregory" type="fix" due-to="Andrey Plotkin"> + NPE in Level.isInRange. + </action> <action issue="LOG4J2-1511" dev="ggregory" type="fix" due-to="Srikanth Surukuntu"> DynamicThresholdFilter filters incorrectly when params are passed as individual arguments instead of varargs. </action>