[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