import org.apache.log4j.WriterAppender; import org.apache.log4j.spi.LoggingEvent; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Text; public class SwtTextAppenderLog4J extends WriterAppender { private static Text text; private static Display display; static public void set(Display display, Text text) { SwtTextAppenderLog4J.display = display; SwtTextAppenderLog4J.text = text; } public void append(LoggingEvent loggingEvent) { if(text == null || display == null) { return; } final String mes = (String) loggingEvent.getMessage(); display.asyncExec(new Runnable() { @Override public void run() { if(text != null) { text.append(mes + "\n"); } } }); } }