log4j ConsoleAppender- Konsole ausgeben

steve77

Grünschnabel
Hallo, ich habe folgendes Problem. Ich möchte, dass die Konsolenausgaben auf eine Textarea umgeleitet, ausgegeben werden (ist glaub ich schon bekannt:)) Ich benutze log4j um die von Tomcat erzeugten Meldungen zu loggen. Es gibt ja nun einen ConsolAppender mit dem man sozusagen die KOnsolenausgabe loggen kann. Meine Frage ist nun wie ich am besten auf diesen zugreifen kann, d.h. ich will die "geloggte" Datei auslesen und auf einem Screen darstellen. Über ein Beispiel würde ich mich sehr freuen:)

Vielen Dank schonmal für die Hilfe.....


Gruß

Stefan
 

zerix

Hausmeister
Moderator
Code:
JTextArea area = new JTextArea();
PrintStream stream = new PrintStream(System.out){
      
      @Override
      public void print(String s)
      {
        area.append(s + "\n");
      }
      
    };
    System.setOut(stream);


Wenn du das so in die main-Methode schreibst, werden alle Ausgaben die generell von dem Programm getätigt werden in einer TextArea ausgegeben, unter anderem auch die Ausgaben von log4j.


MFG

Sascha
 

zeja

Erfahrenes Mitglied
Einen eigenen Appender für log4j schreiben ist da allerdings der schönere Weg. Einfach AppenderSelekton erweitern, im Konstruktor deine Textarea übergeben und dann alles darauf schreiben was ankommt.
 

zerix

Hausmeister
Moderator
Das schon, aber nach seinen anderen Threads zu urteilen, möchte er alles in einer Text-Area ausgeben. Dann finde ich persönlich die Umleitung den besseren Weg. ;-)

MFG

Sascha