Simplify LoggerAdapter interface.

  - Moved one method down to abstract class.
  - Use Closeable interface instead of stop method.


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

Branch: refs/heads/master
Commit: 48f3a4ed981a787f0ab809bb6c861611435ca263
Parents: 2d73203
Author: Matt Sicker <[email protected]>
Authored: Sun Sep 21 12:08:58 2014 -0500
Committer: Matt Sicker <[email protected]>
Committed: Sun Sep 21 12:08:58 2014 -0500

----------------------------------------------------------------------
 .../logging/log4j/spi/AbstractLoggerAdapter.java   | 10 ++++++++--
 .../apache/logging/log4j/spi/LoggerAdapter.java    | 17 ++---------------
 .../apache/logging/log4j/jcl/LogFactoryImpl.java   |  6 +++++-
 3 files changed, 15 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/48f3a4ed/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 8d30758..1252af7 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
@@ -23,6 +23,7 @@ import java.util.concurrent.ConcurrentMap;
 
 /**
  * Provides an abstract base class to use for implementing 
ExternalLoggerContextRegistry.
+ * @param <L> the Logger class to adapt
  * @since 2.1
  */
 public abstract class AbstractLoggerAdapter<L> implements LoggerAdapter<L> {
@@ -44,7 +45,12 @@ public abstract class AbstractLoggerAdapter<L> implements 
LoggerAdapter<L> {
         return loggers.get(name);
     }
 
-    @Override
+    /**
+     * Gets or creates the ConcurrentMap of named loggers for a given 
LoggerContext.
+     *
+     * @param context the LoggerContext to get loggers for
+     * @return the map of loggers for the given LoggerContext
+     */
     public ConcurrentMap<String, L> getLoggersInContext(final LoggerContext 
context) {
         synchronized (registry) {
             ConcurrentMap<String, L> loggers = registry.get(context);
@@ -75,7 +81,7 @@ public abstract class AbstractLoggerAdapter<L> implements 
LoggerAdapter<L> {
     protected abstract LoggerContext getContext();
 
     @Override
-    public void stop() {
+    public void close() {
         registry.clear();
     }
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/48f3a4ed/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 4e3c431..26f2dcf 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
@@ -1,6 +1,6 @@
 package org.apache.logging.log4j.spi;
 
-import java.util.concurrent.ConcurrentMap;
+import java.io.Closeable;
 
 /**
  * A basic registry for {@link LoggerContext} objects and their associated 
external
@@ -10,7 +10,7 @@ import java.util.concurrent.ConcurrentMap;
  * @param <L> the external logger class for this registry (e.g., {@code 
org.slf4j.Logger})
  * @since 2.1
  */
-public interface LoggerAdapter<L> {
+public interface LoggerAdapter<L> extends Closeable {
 
     /**
      * Gets a named logger. Implementations should defer to the abstract 
methods in {@link AbstractLoggerAdapter}.
@@ -19,17 +19,4 @@ public interface LoggerAdapter<L> {
      * @return the named logger
      */
     L getLogger(String name);
-
-    /**
-     * Gets or creates the ConcurrentMap of named loggers for a given 
LoggerContext.
-     *
-     * @param context the LoggerContext to get loggers for
-     * @return the map of loggers for the given LoggerContext
-     */
-    ConcurrentMap<String, L> getLoggersInContext(LoggerContext context);
-
-    /**
-     * Shuts down this registry. Implementations should clear out any instance 
data and perform any relevant clean-up.
-     */
-    void stop();
 }

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/48f3a4ed/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogFactoryImpl.java
----------------------------------------------------------------------
diff --git 
a/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogFactoryImpl.java 
b/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogFactoryImpl.java
index 2c0bb6d..22b1480 100644
--- a/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogFactoryImpl.java
+++ b/log4j-jcl/src/main/java/org/apache/logging/log4j/jcl/LogFactoryImpl.java
@@ -16,6 +16,7 @@
  */
 package org.apache.logging.log4j.jcl;
 
+import java.io.IOException;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 
@@ -60,7 +61,10 @@ public class LogFactoryImpl extends LogFactory {
      */
     @Override
     public void release() {
-        adapter.stop();
+        try {
+            adapter.close();
+        } catch (final IOException ignored) {
+        }
     }
 
     @Override

Reply via email to