You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by do...@apache.org on 2001/12/03 10:24:23 UTC

cvs commit: jakarta-avalon-excalibur/src/java/org/apache/avalon/excalibur/logger DefaultLogTargetFactoryManager.java

donaldp     01/12/03 01:24:23

  Modified:    src/java/org/apache/avalon/excalibur/logger
                        DefaultLogTargetFactoryManager.java
  Log:
  Made it so that the creation of factorys is initially attempted using the COntextClassLoader if available. If that fails then it falls back onto the ClassLoader that loaded this class.
  
  This is absed on a modified patch by "Leo Sutic" <le...@inspireinfrastructure.com>
  
  Revision  Changes    Path
  1.4       +18 -3     jakarta-avalon-excalibur/src/java/org/apache/avalon/excalibur/logger/DefaultLogTargetFactoryManager.java
  
  Index: DefaultLogTargetFactoryManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-avalon-excalibur/src/java/org/apache/avalon/excalibur/logger/DefaultLogTargetFactoryManager.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DefaultLogTargetFactoryManager.java	2001/11/19 02:15:39	1.3
  +++ DefaultLogTargetFactoryManager.java	2001/12/03 09:24:23	1.4
  @@ -23,7 +23,7 @@
    * from a configuration file.
    *
    * @author <a href="mailto:giacomo@apache,org">Giacomo Pati</a>
  - * @version CVS $Revision: 1.3 $ $Date: 2001/11/19 02:15:39 $
  + * @version CVS $Revision: 1.4 $ $Date: 2001/12/03 09:24:23 $
    * @since 4.0
    */
   public class DefaultLogTargetFactoryManager
  @@ -83,8 +83,23 @@
               final LogTargetFactory logTargetFactory;
               try
               {
  -                logTargetFactory = 
  -                    (LogTargetFactory) this.getClass().getClassLoader().loadClass( factoryClass ).newInstance();
  +                Class clazz = null;
  +
  +                //First lets try the context ClassLoader
  +                final ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
  +                if( null != classLoader )
  +                {
  +                    try { clazz = classLoader.loadClass( factoryClass ); }
  +                    catch( final ClassNotFoundException cnfe ) {}
  +                }
  +
  +                //Okay now lets try classLoader this class was loaded from
  +                if( null == clazz )
  +                {
  +                    clazz = getClass().getClassLoader().loadClass( factoryClass );
  +                }
  +
  +                logTargetFactory = (LogTargetFactory)clazz.newInstance();
               }
               catch( final ClassNotFoundException cnfe )
               {
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>