00001
00025 package org.objectweb.cjdbc.console.gui.threads;
00026
00027
import java.net.Socket;
00028
00029
import javax.swing.JTextArea;
00030
00031
import org.apache.log4j.BasicConfigurator;
00032
import org.apache.log4j.Layout;
00033
import org.apache.log4j.LogManager;
00034
import org.apache.log4j.PatternLayout;
00035
import org.apache.log4j.WriterAppender;
00036
import org.apache.log4j.net.SocketNode;
00037
import org.objectweb.cjdbc.console.gui.jtools.JTextAreaWriter;
00038
00045 public class GuiLoggingThread implements Runnable
00046 {
00047 private Socket
logSocket;
00048 private SocketNode
node;
00049 private JTextArea
loggingTextPane;
00050 private String
host;
00051
00058 public GuiLoggingThread(JTextArea loggingTextPane, String host)
00059 {
00060 super();
00061
this.host = host;
00062
this.loggingTextPane = loggingTextPane;
00063 }
00064
00068 public void run()
00069 {
00070
try
00071 {
00072 BasicConfigurator.configure();
00073
JTextAreaWriter writer =
new JTextAreaWriter(
loggingTextPane);
00074 Layout layout =
new PatternLayout(
"%d %-5p %c{3} %m\n");
00075 WriterAppender appender =
new WriterAppender(layout, writer);
00076 appender.setImmediateFlush(
true);
00077 LogManager.getRootLogger().removeAllAppenders();
00078 LogManager.getRootLogger().addAppender(appender);
00079
logSocket =
new Socket(
host, 9010);
00080
node =
new SocketNode(
logSocket, LogManager.getLoggerRepository());
00081
new Thread(
node).start();
00082 }
00083
catch (Exception e)
00084 {
00085
00086 }
00087 }
00088 }