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:05 UTC

[26/32] git commit: Push down methods from LoggerAdapter interface.

Push down methods from LoggerAdapter interface.

  - Convert two of them to protected abstract methods in AbstractLoggerAdapter.


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/86fe4ca8
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/86fe4ca8
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/86fe4ca8

Branch: refs/heads/master
Commit: 86fe4ca8740bd15f036d466178e273b0d9a54bb4
Parents: 0a9d933
Author: Matt Sicker <ma...@apache.org>
Authored: Sun Sep 7 16:28:56 2014 -0500
Committer: Matt Sicker <ma...@apache.org>
Committed: Sun Sep 7 16:28:56 2014 -0500

----------------------------------------------------------------------
 .../logging/log4j/spi/AbstractLoggerAdapter.java | 18 ++++++++++++++++++
 .../apache/logging/log4j/spi/LoggerAdapter.java  | 19 +------------------
 .../org/apache/logging/log4j/jcl/LogAdapter.java |  4 ++--
 .../logging/log4j/jdk/AbstractLoggerAdapter.java |  2 +-
 .../logging/log4j/jdk/ApiLoggerAdapter.java      |  2 +-
 .../logging/log4j/jdk/CoreLoggerAdapter.java     |  2 +-
 .../apache/logging/slf4j/Log4jLoggerFactory.java |  5 +++--
 7 files changed, 27 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86fe4ca8/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java
index 56fa730..8d30758 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/AbstractLoggerAdapter.java
@@ -56,6 +56,24 @@ public abstract class AbstractLoggerAdapter<L> implements LoggerAdapter<L> {
         }
     }
 
+    /**
+     * Creates a new named logger for a given {@link LoggerContext}.
+     *
+     * @param name    the name of the logger to create
+     * @param context the LoggerContext this logger will be associated with
+     * @return the new named logger
+     */
+    protected abstract L newLogger(final String name, final LoggerContext context);
+
+    /**
+     * Gets the {@link LoggerContext} that should be used to look up or create loggers. This is similar in spirit to
+     * the {@code ContextSelector} class in {@code log4j-core}. However, implementations can rely on their own
+     * framework's separation of contexts instead (or simply use a singleton).
+     *
+     * @return the LoggerContext to be used for lookup and creation purposes
+     */
+    protected abstract LoggerContext getContext();
+
     @Override
     public void stop() {
         registry.clear();

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86fe4ca8/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggerAdapter.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggerAdapter.java b/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggerAdapter.java
index 84d441c..4e3c431 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggerAdapter.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/spi/LoggerAdapter.java
@@ -13,8 +13,7 @@ import java.util.concurrent.ConcurrentMap;
 public interface LoggerAdapter<L> {
 
     /**
-     * Gets a named logger linked to the {@link LoggerContext} returned by {@link #getContext()}. If no logger of
-     * the given name exists, then a new logger will be created using {@link #newLogger(String, LoggerContext)}.
+     * Gets a named logger. Implementations should defer to the abstract methods in {@link AbstractLoggerAdapter}.
      *
      * @param name the name of the logger to get
      * @return the named logger
@@ -22,22 +21,6 @@ public interface LoggerAdapter<L> {
     L getLogger(String name);
 
     /**
-     * Creates a new named logger for a given {@link LoggerContext}.
-     *
-     * @param name    the name of the logger to create
-     * @param context the LoggerContext this logger will be associated with
-     * @return the new named logger
-     */
-    L newLogger(String name, LoggerContext context);
-
-    /**
-     * Gets the {@link LoggerContext} that should be used to look up or create loggers.
-     *
-     * @return the LoggerContext to be used for lookup and creation purposes
-     */
-    LoggerContext getContext();
-
-    /**
      * Gets or creates the ConcurrentMap of named loggers for a given LoggerContext.
      *
      * @param context the LoggerContext to get loggers for

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86fe4ca8/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogAdapter.java
----------------------------------------------------------------------
diff --git a/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogAdapter.java b/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogAdapter.java
index b1e1e2b..036d4d2 100644
--- a/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogAdapter.java
+++ b/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogAdapter.java
@@ -29,12 +29,12 @@ import org.apache.logging.log4j.spi.LoggerContext;
 public class LogAdapter extends AbstractLoggerAdapter<Log> {
 
     @Override
-    public Log newLogger(final String name, final LoggerContext context) {
+    protected Log newLogger(final String name, final LoggerContext context) {
         return new Log4jLog(PrivateManager.getLogger(name));
     }
 
     @Override
-    public LoggerContext getContext() {
+    protected LoggerContext getContext() {
         return PrivateManager.getContext();
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86fe4ca8/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/AbstractLoggerAdapter.java
----------------------------------------------------------------------
diff --git a/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/AbstractLoggerAdapter.java b/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/AbstractLoggerAdapter.java
index 29f0aa0..ce1390b 100644
--- a/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/AbstractLoggerAdapter.java
+++ b/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/AbstractLoggerAdapter.java
@@ -29,7 +29,7 @@ import org.apache.logging.log4j.spi.LoggerContext;
 public abstract class AbstractLoggerAdapter extends org.apache.logging.log4j.spi.AbstractLoggerAdapter<Logger> {
 
     @Override
-    public LoggerContext getContext() {
+    protected LoggerContext getContext() {
         return PrivateManager.getContext();
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86fe4ca8/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/ApiLoggerAdapter.java
----------------------------------------------------------------------
diff --git a/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/ApiLoggerAdapter.java b/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/ApiLoggerAdapter.java
index 6b3cd65..ed71737 100644
--- a/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/ApiLoggerAdapter.java
+++ b/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/ApiLoggerAdapter.java
@@ -28,7 +28,7 @@ import org.apache.logging.log4j.spi.LoggerContext;
  */
 public class ApiLoggerAdapter extends AbstractLoggerAdapter {
     @Override
-    public Logger newLogger(final String name, final LoggerContext context) {
+    protected Logger newLogger(final String name, final LoggerContext context) {
         return new ApiLogger(context.getLogger(name));
     }
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86fe4ca8/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/CoreLoggerAdapter.java
----------------------------------------------------------------------
diff --git a/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/CoreLoggerAdapter.java b/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/CoreLoggerAdapter.java
index d91eae1..699ebbc 100644
--- a/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/CoreLoggerAdapter.java
+++ b/log4j-jul/src/main/java/org/apache/logging/log4j/jdk/CoreLoggerAdapter.java
@@ -28,7 +28,7 @@ import org.apache.logging.log4j.spi.LoggerContext;
 public class CoreLoggerAdapter extends AbstractLoggerAdapter {
 
     @Override
-    public Logger newLogger(final String name, final LoggerContext context) {
+    protected Logger newLogger(final String name, final LoggerContext context) {
         return new CoreLogger((org.apache.logging.log4j.core.Logger) context.getLogger(name));
     }
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86fe4ca8/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLoggerFactory.java
----------------------------------------------------------------------
diff --git a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLoggerFactory.java b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLoggerFactory.java
index 5fd50bd..3c82b87 100644
--- a/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLoggerFactory.java
+++ b/log4j-slf4j-impl/src/main/java/org/apache/logging/slf4j/Log4jLoggerFactory.java
@@ -33,17 +33,18 @@ public class Log4jLoggerFactory extends AbstractLoggerAdapter<Logger> implements
     private static final String PACKAGE = "org.slf4j";
 
     @Override
-    public Logger newLogger(final String name, final LoggerContext context) {
+    protected Logger newLogger(final String name, final LoggerContext context) {
         final String key = Logger.ROOT_LOGGER_NAME.equals(name) ? LogManager.ROOT_LOGGER_NAME : name;
         return new Log4jLogger(context.getLogger(key), name);
     }
 
     @Override
-    public LoggerContext getContext() {
+    protected LoggerContext getContext() {
         final Throwable t = new Throwable();
         boolean next = false;
         boolean pkg = false;
         String fqcn = LoggerFactory.class.getName();
+        // TODO: update with LOG4J2-809
         for (final StackTraceElement element : t.getStackTrace()) {
             if (FQCN.equals(element.getClassName())) {
                 next = true;