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/08/27 05:14:50 UTC
logging-log4j2 git commit: [LOG4J2-1511] DynamicThresholdFilter
filters incorrectly when params are passed as individual arguments instead of
varargs.
Repository: logging-log4j2
Updated Branches:
refs/heads/master 13feb49a0 -> 0c9c9f384
[LOG4J2-1511] DynamicThresholdFilter filters incorrectly when params are
passed as individual arguments instead of varargs.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/0c9c9f38
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/0c9c9f38
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/0c9c9f38
Branch: refs/heads/master
Commit: 0c9c9f384475af3402833e9a2a27e97248b84b38
Parents: 13feb49
Author: Gary Gregory <gg...@apache.org>
Authored: Fri Aug 26 22:14:47 2016 -0700
Committer: Gary Gregory <gg...@apache.org>
Committed: Fri Aug 26 22:14:47 2016 -0700
----------------------------------------------------------------------
.../core/filter/DynamicThresholdFilter.java | 79 ++++++++++++++++++++
.../core/filter/DynamicThresholdFilterTest.java | 17 +++++
src/changes/changes.xml | 3 +
3 files changed, 99 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/0c9c9f38/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java
index 2a2d54c..24cfada 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilter.java
@@ -149,6 +149,85 @@ public final class DynamicThresholdFilter extends AbstractFilter {
return filter(level, ThreadContext.getContext());
}
+ @Override
+ public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
+ final Object p0) {
+ return filter(level, ThreadContext.getContext());
+
+ }
+
+ @Override
+ public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
+ final Object p0, final Object p1) {
+ return filter(level, ThreadContext.getContext());
+
+ }
+
+ @Override
+ public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
+ final Object p0, final Object p1, final Object p2) {
+ return filter(level, ThreadContext.getContext());
+
+ }
+
+ @Override
+ public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
+ final Object p0, final Object p1, final Object p2, final Object p3) {
+ return filter(level, ThreadContext.getContext());
+
+ }
+
+ @Override
+ public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
+ final Object p0, final Object p1, final Object p2, final Object p3,
+ final Object p4) {
+ return filter(level, ThreadContext.getContext());
+
+ }
+
+ @Override
+ public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
+ final Object p0, final Object p1, final Object p2, final Object p3,
+ final Object p4, final Object p5) {
+ return filter(level, ThreadContext.getContext());
+
+ }
+
+ @Override
+ public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
+ final Object p0, final Object p1, final Object p2, final Object p3,
+ final Object p4, final Object p5, final Object p6) {
+ return filter(level, ThreadContext.getContext());
+
+ }
+
+ @Override
+ public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
+ final Object p0, final Object p1, final Object p2, final Object p3,
+ final Object p4, final Object p5, final Object p6,
+ final Object p7) {
+ return filter(level, ThreadContext.getContext());
+
+ }
+
+ @Override
+ public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
+ final Object p0, final Object p1, final Object p2, final Object p3,
+ final Object p4, final Object p5, final Object p6,
+ final Object p7, final Object p8) {
+ return filter(level, ThreadContext.getContext());
+
+ }
+
+ @Override
+ public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
+ final Object p0, final Object p1, final Object p2, final Object p3,
+ final Object p4, final Object p5, final Object p6,
+ final Object p7, final Object p8, final Object p9) {
+ return filter(level, ThreadContext.getContext());
+
+ }
+
public String getKey() {
return this.key;
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/0c9c9f38/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilterTest.java
index 21f1ca0..1cf6b60 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/filter/DynamicThresholdFilterTest.java
@@ -74,9 +74,26 @@ public class DynamicThresholdFilterTest {
assertSame(Filter.Result.DENY, filter.filter(event));
event = Log4jLogEvent.newBuilder().setLevel(Level.ERROR).setMessage(new SimpleMessage("Test")).build();
assertSame(Filter.Result.NEUTRAL, filter.filter(event));
+ ThreadContext.clearMap();
}
@Test
+ public void testFilterWorksWhenParamsArePassedAsArguments() {
+ ThreadContext.put("userid", "testuser");
+ ThreadContext.put("organization", "apache");
+ final KeyValuePair[] pairs = new KeyValuePair[] {
+ new KeyValuePair("testuser", "DEBUG"),
+ new KeyValuePair("JohnDoe", "warn") };
+ final DynamicThresholdFilter filter = DynamicThresholdFilter.createFilter("userid", pairs, Level.ERROR, Filter.Result.ACCEPT, Filter.Result.NEUTRAL);
+ filter.start();
+ assertTrue(filter.isStarted());
+ Object [] replacements = {"one", "two", "three"};
+ assertSame(Filter.Result.ACCEPT, filter.filter(null, Level.DEBUG, null, "some test message", replacements));
+ assertSame(Filter.Result.ACCEPT, filter.filter(null, Level.DEBUG, null, "some test message", "one", "two", "three"));
+ ThreadContext.clearMap();
+ }
+
+ @Test
public void testConfig() {
try (final LoggerContext ctx = Configurator.initialize("Test1",
"target/test-classes/log4j2-dynamicfilter.xml")) {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/0c9c9f38/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 2a1f57a..818f570 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-1511" dev="ggregory" type="fix" due-to="Srikanth Surukuntu">
+ DynamicThresholdFilter filters incorrectly when params are passed as individual arguments instead of varargs.
+ </action>
<action issue="LOG4J2-1548" dev="ggregory" type="fix">
[CronTriggeringPolicy] ConfigurationScheduler schedules the task infinitely after first fire.
</action>