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>