LOG4J2-1672 make LevelRangeFilter garbage-free
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/f0a0245a Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/f0a0245a Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/f0a0245a Branch: refs/heads/master Commit: f0a0245a373f780a7a49a1dd2f0b3ac18af4a2c4 Parents: 243ff5b Author: rpopma <rpo...@apache.org> Authored: Sun Nov 6 23:22:00 2016 +0900 Committer: rpopma <rpo...@apache.org> Committed: Sun Nov 6 23:22:00 2016 +0900 ---------------------------------------------------------------------- .../log4j/core/filter/LevelRangeFilter.java | 73 +++++++++++++++++++- src/changes/changes.xml | 3 + 2 files changed, 74 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/f0a0245a/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 fd78433..627b438 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 @@ -42,7 +42,7 @@ public final class LevelRangeFilter extends AbstractFilter { /** * Create a ThresholdFilter. - * + * * @param minLevel * The minimum log Level. * @param maxLevel @@ -58,7 +58,7 @@ public final class LevelRangeFilter extends AbstractFilter { // @formatter:off @PluginAttribute("minLevel") final Level minLevel, @PluginAttribute("maxLevel") final Level maxLevel, - @PluginAttribute("onMatch") final Result match, + @PluginAttribute("onMatch") final Result match, @PluginAttribute("onMismatch") final Result mismatch) { // @formatter:on final Level actualMinLevel = minLevel == null ? Level.ERROR : minLevel; @@ -104,6 +104,75 @@ public final class LevelRangeFilter extends AbstractFilter { return filter(level); } + @Override + public Result filter(final Logger logger, final Level level, final Marker marker, final String msg, + final Object p0) { + return filter(level); + } + + @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); + } + + @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); + } + + @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); + } + + @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); + } + + @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); + } + + @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); + } + + @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); + } + + @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); + } + + @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); + } + public Level getMinLevel() { return minLevel; } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/f0a0245a/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index e334cf9..fda05ad 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -24,6 +24,9 @@ </properties> <body> <release version="2.8" date="2016-MM-DD" description="GA Release 2.8"> + <action issue="LOG4J2-1672" dev="rpopma" type="fix"> + (GC) Avoid allocating temporary objects in LevelRangeFilter. + </action> <action issue="LOG4J2-1671" dev="rpopma" type="fix"> (GC) Avoid allocating temporary objects in EqualsIgnoreCaseReplacementConverter. </action>