[jboss-svn-commits] JBoss Common SVN: r3403 - common-logging-spi/trunk/src/main/java/org/jboss/logging.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jul 29 19:33:55 EDT 2009


Author: david.lloyd at jboss.com
Date: 2009-07-29 19:33:55 -0400 (Wed, 29 Jul 2009)
New Revision: 3403

Modified:
   common-logging-spi/trunk/src/main/java/org/jboss/logging/AbstractLoggerPluginInstance.java
   common-logging-spi/trunk/src/main/java/org/jboss/logging/Logger.java
   common-logging-spi/trunk/src/main/java/org/jboss/logging/LoggerPluginInstance.java
   common-logging-spi/trunk/src/main/java/org/jboss/logging/NullLoggerPlugin.java
   common-logging-spi/trunk/src/main/java/org/jboss/logging/NullLoggerPluginInstance.java
Log:
Jump through a few hoops to stay API-compatible

Modified: common-logging-spi/trunk/src/main/java/org/jboss/logging/AbstractLoggerPluginInstance.java
===================================================================
--- common-logging-spi/trunk/src/main/java/org/jboss/logging/AbstractLoggerPluginInstance.java	2009-07-29 21:20:12 UTC (rev 3402)
+++ common-logging-spi/trunk/src/main/java/org/jboss/logging/AbstractLoggerPluginInstance.java	2009-07-29 23:33:55 UTC (rev 3403)
@@ -30,18 +30,25 @@
 public abstract class AbstractLoggerPluginInstance implements LoggerPluginInstance {
 
     private final Logger logger;
+    private final LoggerPlugin loggerPlugin;
 
     /**
      * Construct a new instance.
      *
      * @param name the logger name
      * @param resourceBundleName the resource bundle name
+     * @param loggerPlugin
      */
-    protected AbstractLoggerPluginInstance(final String name, final String resourceBundleName) {
+    protected AbstractLoggerPluginInstance(final String name, final String resourceBundleName, final LoggerPlugin loggerPlugin) {
+        this.loggerPlugin = loggerPlugin;
         //noinspection ThisEscapedInObjectConstruction
         logger = new Logger(name, resourceBundleName, this);
     }
 
+    public LoggerPlugin getLoggerPlugin() {
+        return loggerPlugin;
+    }
+
     /** {@inheritDoc} */
     public Logger getLogger() {
         return logger;

Modified: common-logging-spi/trunk/src/main/java/org/jboss/logging/Logger.java
===================================================================
--- common-logging-spi/trunk/src/main/java/org/jboss/logging/Logger.java	2009-07-29 21:20:12 UTC (rev 3402)
+++ common-logging-spi/trunk/src/main/java/org/jboss/logging/Logger.java	2009-07-29 23:33:55 UTC (rev 3403)
@@ -59,8 +59,9 @@
  */
 public class Logger implements Serializable
 {
+   private static volatile LoggerPlugin plugin;
 
-   /**
+    /**
     * Levels used by this logging API.
     */
    public enum Level {
@@ -154,7 +155,7 @@
     * 
     * @return the delegate
     */
-   public LoggerPluginInstance getLoggerPlugin()
+   public LoggerPluginInstance getLoggerPluginInstance()
    {
       return loggerDelegate;
    }
@@ -935,6 +936,16 @@
    }
 
    /**
+    * Get the logger plugin.
+    *
+    * @return the logger plugin
+    */
+   public LoggerPlugin getLoggerPlugin()
+   {
+      return getLoggerPluginInstance().getLoggerPlugin();
+   }
+
+   /**
     * Get the delegate plugin
     * 
     * @param name the name of the logger
@@ -959,10 +970,8 @@
       }
       catch (Throwable e)
       {
-         String extraInfo = e.getMessage();
-         System.err.println("Failed to initalize plugin: " + plugin
-               + (extraInfo != null ? ", cause: " + extraInfo : ""));
-         instance = new NullLoggerPluginInstance(name);
+         System.err.println("Failed to initalize plugin: " + plugin + ", cause: " + e.toString());
+         instance = new NullLoggerPluginInstance(name, NullLoggerPlugin.INSTANCE);
       }
 
       return instance;

Modified: common-logging-spi/trunk/src/main/java/org/jboss/logging/LoggerPluginInstance.java
===================================================================
--- common-logging-spi/trunk/src/main/java/org/jboss/logging/LoggerPluginInstance.java	2009-07-29 21:20:12 UTC (rev 3402)
+++ common-logging-spi/trunk/src/main/java/org/jboss/logging/LoggerPluginInstance.java	2009-07-29 23:33:55 UTC (rev 3403)
@@ -32,6 +32,8 @@
  */
 public interface LoggerPluginInstance {
 
+    LoggerPlugin getLoggerPlugin();
+
     /**
      * Get the logger API instance associated with this plugin instance.
      *

Modified: common-logging-spi/trunk/src/main/java/org/jboss/logging/NullLoggerPlugin.java
===================================================================
--- common-logging-spi/trunk/src/main/java/org/jboss/logging/NullLoggerPlugin.java	2009-07-29 21:20:12 UTC (rev 3402)
+++ common-logging-spi/trunk/src/main/java/org/jboss/logging/NullLoggerPlugin.java	2009-07-29 23:33:55 UTC (rev 3403)
@@ -27,9 +27,11 @@
  */
 public class NullLoggerPlugin implements LoggerPlugin {
 
-   /** {@inheritDoc} */
+   public static final LoggerPlugin INSTANCE = new NullLoggerPlugin();
+
+    /** {@inheritDoc} */
    public LoggerPluginInstance getInstance(String name, final String resourceBundleName) {
-      return new NullLoggerPluginInstance(name);
+      return new NullLoggerPluginInstance(name, this);
    }
 
    /** {@inheritDoc} */

Modified: common-logging-spi/trunk/src/main/java/org/jboss/logging/NullLoggerPluginInstance.java
===================================================================
--- common-logging-spi/trunk/src/main/java/org/jboss/logging/NullLoggerPluginInstance.java	2009-07-29 21:20:12 UTC (rev 3402)
+++ common-logging-spi/trunk/src/main/java/org/jboss/logging/NullLoggerPluginInstance.java	2009-07-29 23:33:55 UTC (rev 3403)
@@ -38,9 +38,10 @@
      * Construct a new instance.
      *
      * @param name the logger name to use
+     * @param loggerPlugin
      */
-    public NullLoggerPluginInstance(final String name) {
-        super(name, null);
+    public NullLoggerPluginInstance(final String name, final LoggerPlugin loggerPlugin) {
+        super(name, null, loggerPlugin);
     }
 
     /** {@inheritDoc} */



More information about the jboss-svn-commits mailing list