/* ViewerConsoleAppender.java created 2007-09-13
*
*/
package org.signalml.app.util.logging;
import org.apache.log4j.AppenderSkeleton;
import org.apache.log4j.spi.LoggingEvent;
import org.signalml.app.view.workspace.ViewerConsolePane;
/** ViewerConsoleAppender
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public class ViewerConsoleAppender extends AppenderSkeleton {
private ViewerConsolePane console;
@Override
protected void append(LoggingEvent ev) {
String message = null;
if (layout.ignoresThrowable()) {
String[] s = ev.getThrowableStrRep();
if (s != null) {
StringBuilder sb = new StringBuilder();
sb.append(layout.format(ev));
int len = s.length;
for (int i = 0; i < len; i++) {
sb.append(s[i]);
sb.append("\n");
}
message = sb.toString();
} else {
message = layout.format(ev);
}
} else {
message = layout.format(ev);
}
console.addText(message);
}
@Override
public void close() {
// nothing to do
}
@Override
public boolean requiresLayout() {
return true;
}
public ViewerConsolePane getConsole() {
return console;
}
public void setConsole(ViewerConsolePane console) {
this.console = console;
}
}