[slf4j-dev] svn commit: r592 - slf4j/trunk/src/java/org/apache/commons/logging/impl

ceki at slf4j.org ceki at slf4j.org
Tue May 30 22:24:34 CEST 2006


Author: ceki
Date: Tue May 30 22:24:33 2006
New Revision: 592

Modified:
   slf4j/trunk/src/java/org/apache/commons/logging/impl/SLF4FLogFactory.java
Log:
fix in response to bug #22

Modified: slf4j/trunk/src/java/org/apache/commons/logging/impl/SLF4FLogFactory.java
==============================================================================
--- slf4j/trunk/src/java/org/apache/commons/logging/impl/SLF4FLogFactory.java	(original)
+++ slf4j/trunk/src/java/org/apache/commons/logging/impl/SLF4FLogFactory.java	Tue May 30 22:24:33 2006
@@ -165,8 +165,16 @@
    * to objects in that class loader would prevent garbage collection.
    */
   public void release() {
-    throw new UnsupportedOperationException("SLF4J bound commons-logging does not need to implement release().");
-  }
+    // This method is never called by jcl-over-slf4j classes. However,
+    // in certain deployment scenarios, in particular if jcl104-over-slf4j.jar is
+    // in the the web-app class loader and the official commons-logging.jar is
+    // deployed in some parent class loader (e.g. commons/lib), then it is possible 
+    // for the parent class loader to mask the classes shipping in 
+    // jcl104-over-slf4j.jar.
+    System.out.println("WARN: The method "+SLF4FLogFactory.class+"#release() was invoked.");
+    System.out.println("WARN: Please see http://www.slf4j.org/codes.html for an explanation.");
+    System.out.flush(); 
+   }
 
   /**
    * Remove any configuration attribute associated with the specified name. If



More information about the slf4j-dev mailing list