- ((ProcessThreadGroup) currentThread.getThreadGroup())
- .dispatchAddStep(new SlcExecutionStep(layout.format(event)));
+
+ final String type;
+ if (event.getLevel().equals(Level.ERROR)
+ || event.getLevel().equals(Level.FATAL))
+ type = ExecutionStep.ERROR;
+ else if (event.getLevel().equals(Level.WARN))
+ type = ExecutionStep.WARNING;
+ else if (event.getLevel().equals(Level.INFO))
+ type = ExecutionStep.INFO;
+ else if (event.getLevel().equals(Level.DEBUG))
+ type = ExecutionStep.DEBUG;
+ else if (event.getLevel().equals(Level.TRACE))
+ type = ExecutionStep.TRACE;
+ else
+ type = ExecutionStep.INFO;
+
+ ExecutionStep step = new ExecutionStep(new Date(
+ event.getTimeStamp()), type, layout.format(event));
+
+ try {
+ dispatching.set(true);
+ ((ProcessThreadGroup) currentThread.getThreadGroup())
+ .dispatchAddStep(step);
+ } finally {
+ dispatching.set(false);
+ }