Author: [log in to unmask]
Date: Wed Feb 11 13:55:33 2015
New Revision: 3528
Log:
Simply Driver logging so it is not hierarchical. Existing logging with single Logger object does not work correctly.
Modified:
projects/lcsim/trunk/event-processing/src/main/java/org/lcsim/util/Driver.java
Modified: projects/lcsim/trunk/event-processing/src/main/java/org/lcsim/util/Driver.java
=============================================================================
--- projects/lcsim/trunk/event-processing/src/main/java/org/lcsim/util/Driver.java (original)
+++ projects/lcsim/trunk/event-processing/src/main/java/org/lcsim/util/Driver.java Wed Feb 11 13:55:33 2015
@@ -1,31 +1,29 @@
package org.lcsim.util;
import java.io.PrintStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
-import java.util.logging.Formatter;
import java.util.logging.Level;
-import java.util.logging.LogRecord;
import java.util.logging.Logger;
-import java.util.logging.StreamHandler;
+
import org.lcsim.conditions.ConditionsManager;
import org.lcsim.event.EventHeader;
import org.lcsim.geometry.Detector;
/**
- * A driver is a steering routine which can deal with event processing, and/or call any number of child drivers. When used as a child driver all parameters such as histogramLevel and logger are
- * inherited from the parent driver.
+ * A driver is a steering routine which can deal with event processing, and/or call any number of child drivers.
+ * When used as a child driver all parameters such as histogramLevel and logger are inherited from the parent driver.
* <p>
- * It also allows controlling the histogram level of the processors being called and handles coordination of random numbers between Monte Carlo processors.
+ * It also allows controlling the histogram level of the processors being called and handles coordination of random numbers
+ * between Monte Carlo processors.
*
* @author Tony Johnson
* @version $Id: Driver.java,v 1.14 2007/09/11 00:21:00 tonyj Exp $
*/
public class Driver {
+
// We dont use an enum, because we want to be able to test for level>some value.
// and because drivers can use special values for special purposes.
public final static int HLEVEL_DEFAULT = -1;
@@ -172,8 +170,9 @@
}
/**
- * Called by the framework to process an event. Don't forget to call <code>super.process(event)</code> to cause the child processes to be executed. In addition the process event can call throw
- * some special exceptions:
+ * Called by the framework to process an event.
+ * Don't forget to call <code>super.process(event)</code> to cause the child processes to be executed.
+ * In addition the process event call can throw some special exceptions:
* <ul>
* <li>NextEventException - aborts further processing of this event</li>
* <li>StopRunException - causes event processing to be stopped</li>
@@ -295,11 +294,6 @@
MotherOfAllDrivers() {
super("TOP");
- StreamHandler handler = new StreamHandler(System.out, new DriverFormatter());
- handler.setLevel(Level.ALL);
- getLogger().setUseParentHandlers(false);
- getLogger().addHandler(handler);
- getLogger().setLevel(Level.WARNING);
}
public Random getRandom() {
@@ -318,30 +312,7 @@
return getName();
}
}
-
- private static class DriverFormatter extends Formatter {
- public synchronized String format(LogRecord record) {
- StringBuilder sb = new StringBuilder();
- sb.append(record.getLoggerName().substring("TOP".length() + 1));
- sb.append(": ");
- sb.append(record.getLevel().getLocalizedName());
- sb.append(": ");
- sb.append(formatMessage(record));
- sb.append('\n');
- if (record.getThrown() != null) {
- try {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- record.getThrown().printStackTrace(pw);
- pw.close();
- sb.append(sw.toString());
- } catch (Exception ex) {
- }
- }
- return sb.toString();
- }
- }
-
+
/**
* If thrown during the process method of a driver, causes processing of the current event to be aborted. Event procssing skips immediately to the next event.
*/
########################################################################
Use REPLY-ALL to reply to list
To unsubscribe from the LCDET-SVN list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=LCDET-SVN&A=1
|