LOG4J2-1326 add methods isEnabled that accepts a CharSequence to subclasses of AbstractLogger
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/b9c1e2f7 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/b9c1e2f7 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/b9c1e2f7 Branch: refs/heads/LOG4J2-1356 Commit: b9c1e2f7baffa1ea79f1de156c6426d55f556a40 Parents: e014796 Author: rpopma <[email protected]> Authored: Thu Apr 7 22:15:43 2016 +0900 Committer: rpopma <[email protected]> Committed: Thu Apr 7 22:15:43 2016 +0900 ---------------------------------------------------------------------- .../apache/logging/log4j/simple/SimpleLogger.java | 5 +++++ .../apache/logging/log4j/status/StatusLogger.java | 5 +++++ .../java/org/apache/logging/log4j/TestLogger.java | 5 +++++ .../java/org/apache/logging/log4j/core/Logger.java | 16 ++++++++++++++++ .../java/org/apache/logging/slf4j/SLF4JLogger.java | 5 +++++ 5 files changed, 36 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b9c1e2f7/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLogger.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLogger.java b/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLogger.java index aea1ff8..b91f3b2 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLogger.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/simple/SimpleLogger.java @@ -106,6 +106,11 @@ public class SimpleLogger extends AbstractLogger { } @Override + public boolean isEnabled(final Level testLevel, final Marker marker, final CharSequence msg, final Throwable t) { + return this.level.intLevel() >= testLevel.intLevel(); + } + + @Override public boolean isEnabled(final Level testLevel, final Marker marker, final Object msg, final Throwable t) { return this.level.intLevel() >= testLevel.intLevel(); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b9c1e2f7/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java index 46eb4f8..ebd44d4 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/status/StatusLogger.java @@ -343,6 +343,11 @@ public final class StatusLogger extends AbstractLogger { } @Override + public boolean isEnabled(final Level level, final Marker marker, final CharSequence message, final Throwable t) { + return isEnabled(level, marker); + } + + @Override public boolean isEnabled(final Level level, final Marker marker, final Object message, final Throwable t) { return isEnabled(level, marker); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b9c1e2f7/log4j-api/src/test/java/org/apache/logging/log4j/TestLogger.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/TestLogger.java b/log4j-api/src/test/java/org/apache/logging/log4j/TestLogger.java index 2024831..5f7abb7 100644 --- a/log4j-api/src/test/java/org/apache/logging/log4j/TestLogger.java +++ b/log4j-api/src/test/java/org/apache/logging/log4j/TestLogger.java @@ -169,6 +169,11 @@ public class TestLogger extends AbstractLogger { } @Override + public boolean isEnabled(final Level level, final Marker marker, final CharSequence msg, final Throwable t) { + return true; + } + + @Override public boolean isEnabled(final Level level, final Marker marker, final Object msg, final Throwable t) { return true; } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b9c1e2f7/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java index 9b2705c..d08dd8a 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java @@ -230,6 +230,11 @@ public class Logger extends AbstractLogger implements Supplier<LoggerConfig> { } @Override + public boolean isEnabled(final Level level, final Marker marker, final CharSequence message, final Throwable t) { + return privateConfig.filter(level, marker, message, t); + } + + @Override public boolean isEnabled(final Level level, final Marker marker, final Object message, final Throwable t) { return privateConfig.filter(level, marker, message, t); } @@ -564,6 +569,17 @@ public class Logger extends AbstractLogger implements Supplier<LoggerConfig> { return level != null && intLevel >= level.intLevel(); } + boolean filter(final Level level, final Marker marker, final CharSequence msg, final Throwable t) { + final Filter filter = config.getFilter(); + if (filter != null) { + final Filter.Result r = filter.filter(logger, level, marker, msg, t); + if (r != Filter.Result.NEUTRAL) { + return r == Filter.Result.ACCEPT; + } + } + return level != null && intLevel >= level.intLevel(); + } + boolean filter(final Level level, final Marker marker, final Object msg, final Throwable t) { final Filter filter = config.getFilter(); if (filter != null) { http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b9c1e2f7/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java ---------------------------------------------------------------------- diff --git a/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java b/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java index 7ed81ed..33e40c1 100644 --- a/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java +++ b/log4j-to-slf4j/src/main/java/org/apache/logging/slf4j/SLF4JLogger.java @@ -112,6 +112,11 @@ public class SLF4JLogger extends AbstractLogger { } @Override + public boolean isEnabled(final Level level, final Marker marker, final CharSequence data, final Throwable t) { + return isEnabledFor(level, marker); + } + + @Override public boolean isEnabled(final Level level, final Marker marker, final Object data, final Throwable t) { return isEnabledFor(level, marker); }
