static { cLog = new Log(null, null); cLog.setDescription("System Log"); cSystemLogEventPrinter = new LogListener() { public void logMessage(LogEvent e) { PrintStream ps = getPrintStream(e); String message = e.getMessage(); if (message == null) { ps.println(); } else { ps.println(message); } } public void logException(LogEvent e) { Throwable t = e.getException(); if (t == null) { logMessage(e); } else { t.printStackTrace(getPrintStream(e)); } } private PrintStream getPrintStream(LogEvent e) { synchronized (log()) { switch (e.getType()) { case LogEvent.DEBUG_TYPE: case LogEvent.INFO_TYPE: return (cInstalled) ? cOriginalOut : System.out; } return (cInstalled) ? cOriginalErr : System.err; } } }; log().addLogListener(cSystemLogEventPrinter); }