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 2014/09/08 00:39:07 UTC
[28/32] git commit: Disable unsupported methods in ApiLogger.
Disable unsupported methods in ApiLogger.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/1edacfa6
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/1edacfa6
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/1edacfa6
Branch: refs/heads/master
Commit: 1edacfa6fe72defabbbf8132bc6a344fc731045a
Parents: 2423e44
Author: Matt Sicker <ma...@apache.org>
Authored: Sun Sep 7 17:04:38 2014 -0500
Committer: Matt Sicker <ma...@apache.org>
Committed: Sun Sep 7 17:04:38 2014 -0500
----------------------------------------------------------------------
.../org/apache/logging/log4j/jdk/ApiLogger.java | 30 ++++++++++++++++++++
.../apache/logging/log4j/jdk/CoreLogger.java | 2 +-
2 files changed, 31 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1edacfa6/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/ApiLogger.java
----------------------------------------------------------------------
diff --git a/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/ApiLogger.java b/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/ApiLogger.java
index 6beffc9..c3d3ff9 100644
--- a/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/ApiLogger.java
+++ b/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/ApiLogger.java
@@ -32,6 +32,8 @@ import org.apache.logging.log4j.spi.ExtendedLogger;
* Consult the documentation for your Log4j Provider for more details.
* <p>Note that the methods {@link #getParent()} and {@link #setLevel(java.util.logging.Level)} are not supported by
* this implementation. If you need support for these methods, then you'll need to use log4j-core.</p>
+ * <p>Also note that {@link #setParent(java.util.logging.Logger)} is explicitly unsupported. Parent loggers are
+ * determined using the syntax of the logger name; not through an arbitrary graph of loggers.</p>
*/
public class ApiLogger extends Logger {
@@ -97,4 +99,32 @@ public class ApiLogger extends Logger {
return logger.getName();
}
+ @Override
+ public void setLevel(final Level newLevel) throws SecurityException {
+ throw new UnsupportedOperationException("Cannot set level through log4j-api");
+ }
+
+ /**
+ * Provides access to {@link Logger#setLevel(java.util.logging.Level)}. This method should only be used by child
+ * classes.
+ *
+ * @see Logger#setLevel(java.util.logging.Level)
+ */
+ protected void doSetLevel(final Level newLevel) throws SecurityException {
+ super.setLevel(newLevel);
+ }
+
+ @Override
+ public Logger getParent() {
+ throw new UnsupportedOperationException("Cannot get parent logger through log4j-api");
+ }
+
+ /**
+ * Unsupported operation.
+ * @throws UnsupportedOperationException always
+ */
+ @Override
+ public void setParent(final Logger parent) {
+ throw new UnsupportedOperationException("Cannot set parent logger");
+ }
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1edacfa6/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/CoreLogger.java
----------------------------------------------------------------------
diff --git a/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/CoreLogger.java b/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/CoreLogger.java
index 60ff82f..ddf2aaa 100644
--- a/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/CoreLogger.java
+++ b/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/CoreLogger.java
@@ -44,7 +44,7 @@ public class CoreLogger extends ApiLogger {
@Override
public void setLevel(final Level level) throws SecurityException {
logger.setLevel(Levels.toLevel(level));
- super.setLevel(level);
+ super.doSetLevel(level);
}
/**