donaldp     2002/10/27 17:14:32

  Modified:    lib      excalibur-logger-1.0.jar
               src/java/org/apache/avalon/phoenix/components/logger
                        DefaultLogManager.java Resources.properties
  Log:
  Added support for Log4j logger configuration from within the environment.xml file. 
Uses the Log4j schema and underlying toolkit.
  
  Originally Submitted by: Ole Bulbuk <[EMAIL PROTECTED]>
  
  Revision  Changes    Path
  1.5       +106 -93   jakarta-avalon-phoenix/lib/excalibur-logger-1.0.jar
  
        <<Binary file>>
  
  
  1.24      +52 -2     
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/logger/DefaultLogManager.java
  
  Index: DefaultLogManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/logger/DefaultLogManager.java,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- DefaultLogManager.java    23 Oct 2002 07:37:39 -0000      1.23
  +++ DefaultLogManager.java    28 Oct 2002 01:14:32 -0000      1.24
  @@ -34,6 +34,22 @@
           ResourceManager.getPackageResources( DefaultLogManager.class );
   
       /**
  +     * Constant used to define LogManager class to use original log format.
  +     */
  +    private static final String VERSION_1 = SimpleLogKitManager.class.getName();
  +
  +    /**
  +     * Constant used to define LogManager class to use excaliburs log format.
  +     */
  +    private static final String VERSION_1_1 = LogKitLoggerManager.class.getName();
  +
  +    /**
  +     * Constant used to define LogManager class to use log4j log format and system.
  +     */
  +    private static final String VERSION_LOG4J =
  +        "org.apache.avalon.excalibur.logger.Log4jConfLoggerManager";
  +
  +    /**
        * Create a Logger hierarchy for specified application.
        *
        * @param metaData the metadata for application
  @@ -71,15 +87,49 @@
           return loggerManager.getDefaultLogger();
       }
   
  +    /**
  +     * Create a {@link LoggerManager} for specified version string.
  +     *
  +     * @param version the version string
  +     * @return the created {@link LoggerManager}
  +     */
       private LoggerManager createLoggerManager( final String version )
       {
  +        final String classname = getClassname( version );
  +        try
  +        {
  +            final ClassLoader classLoader = getClass().getClassLoader();
  +            final Class clazz = classLoader.loadClass( classname );
  +            return (LoggerManager)clazz.newInstance();
  +        }
  +        catch( final Exception e )
  +        {
  +            final String message =
  +                REZ.getString( "no-create-manager", version, e );
  +            throw new IllegalArgumentException( message );
  +        }
  +    }
  +
  +    /**
  +     * Get the classname of {@link LoggerManager} that coresponds
  +     * to specified version.
  +     *
  +     * @param version the version string
  +     * @return the classname of {@link LoggerManager}
  +     */
  +    private String getClassname( final String version )
  +    {
           if( version.equals( "1.0" ) )
           {
  -            return new SimpleLogKitManager();
  +            return VERSION_1;
           }
           else if( version.equals( "1.1" ) )
           {
  -            return new LogKitLoggerManager();
  +            return VERSION_1_1;
  +        }
  +        else if( version.equals( "log4j" ) )
  +        {
  +            return VERSION_LOG4J;
           }
           else
           {
  
  
  
  1.5       +2 -1      
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/logger/Resources.properties
  
  Index: Resources.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/logger/Resources.properties,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Resources.properties      23 Oct 2002 07:37:39 -0000      1.4
  +++ Resources.properties      28 Oct 2002 01:14:32 -0000      1.5
  @@ -1,2 +1,3 @@
   logger-create=Creating log hierarchy for application named "{0}", using log format 
version "{1}".
  -unknown-version=Unknown log version specification: {0}
  \ No newline at end of file
  +unknown-version=Unknown log version specification: {0}
  +no-create-manager=Unable to create LoggerManager for version "{0}" due to "{1}".
  \ No newline at end of file
  
  
  

--
To unsubscribe, e-mail:   <mailto:avalon-cvs-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-cvs-help@;jakarta.apache.org>

Reply via email to