sebb 2004/03/21 18:09:56
Modified: src/jorphan/org/apache/jorphan/logging LoggingManager.java
Log:
Added excalibur-logger configuration option
Revision Changes Path
1.13 +52 -2
jakarta-jmeter/src/jorphan/org/apache/jorphan/logging/LoggingManager.java
Index: LoggingManager.java
===================================================================
RCS file:
/home/cvs/jakarta-jmeter/src/jorphan/org/apache/jorphan/logging/LoggingManager.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- LoggingManager.java 21 Mar 2004 12:05:34 -0000 1.12
+++ LoggingManager.java 22 Mar 2004 02:09:56 -0000 1.13
@@ -19,11 +19,19 @@
package org.apache.jorphan.logging;
import java.io.FileWriter;
+import java.io.IOException;
import java.io.PrintWriter;
import java.io.Writer;
import java.util.Iterator;
import java.util.Properties;
+import org.apache.avalon.excalibur.logger.LogKitLoggerManager;
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
+import org.apache.avalon.framework.context.Context;
+import org.apache.avalon.framework.context.ContextException;
+import org.apache.avalon.framework.context.DefaultContext;
import org.apache.jorphan.util.ClassContext;
import org.apache.log.Hierarchy;
import org.apache.log.LogTarget;
@@ -32,6 +40,7 @@
import org.apache.log.format.PatternFormatter;
import org.apache.log.output.NullOutputLogTarget;
import org.apache.log.output.io.WriterTarget;
+import org.xml.sax.SAXException;
/**
* @version $Revision$ on $Date$
@@ -108,6 +117,8 @@
setLoggingLevels(properties);
// now set the individual categories (if any)
+
+ setConfig(properties);// Further configuration
}
private static void setFormat(Properties properties)
@@ -138,6 +149,45 @@
}
+ private static void setConfig(Properties p)
+ {
+ String cfg = p.getProperty("log_config");
+ if (cfg==null) return;
+
+ //Make sure same hierarchy is used
+ Hierarchy hier = Hierarchy.getDefaultHierarchy();
+ LogKitLoggerManager manager = new LogKitLoggerManager(
+ null,hier,null,null
+ );
+
+ DefaultConfigurationBuilder builder = new
DefaultConfigurationBuilder();
+ try {
+ Configuration c = builder.buildFromFile(cfg);
+ Context ctx = new DefaultContext();
+ manager.contextualize(ctx);
+ manager.configure(c);
+ } catch (IllegalArgumentException e) {
+ // This happens if the default log-target id-ref specifies a
non-existent target
+ System.out.println("Error processing logging config "+cfg);
+ System.out.println(e.toString());
+ } catch (NullPointerException e) {
+ // This can happen if a log-target id-ref specifies a
non-existent target
+ System.out.println("Error processing logging config "+cfg);
+ System.out.println("Perhaps a log target is missing?");
+ } catch (ConfigurationException e) {
+ System.out.println("Error processing logging config "+cfg);
+ System.out.println(e.toString());
+ } catch (SAXException e) {
+ System.out.println("Error processing logging config "+cfg);
+ System.out.println(e.toString());
+ } catch (IOException e) {
+ System.out.println("Error processing logging config "+cfg);
+ System.out.println(e.toString());
+ } catch (ContextException e) {
+ System.out.println("Error processing logging config "+cfg);
+ System.out.println(e.toString());
+ }
+ }
/*
* Helper method to ensure that format is initialised if initializeLogging()
* has not yet been called.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]