Log4J - Protokollierung auf die GUI zaubern!

Status
Nicht offen für weitere Antworten.

m!k3

Bekanntes Mitglied
Hallo zusammen,

also entweder ich stell mich zu dumm an oder es gibt keine Möglichkeit das gesamte Protokoll auf eine GUI auszugeben.
Ich find den Logger ganz schön handzuhaben möchte aber das Protokoll nicht in die Console oder auf File ausgeben sondern einfach in eine TextArea schreiben.

Gibts da doch ne Möglichkeit das zu realisieren?

Danke für eure Hilfe... :wink:
 

m!k3

Bekanntes Mitglied
ohje.. kannst du mir da ein wenig helfen auf was ich da so achten muss? Zwecks Layout, Filter und was es da so gibt..
 

KISS

Bekanntes Mitglied
Layout und filter brauchst du erstmal nicht (da kann man die standards vom ConsoleAppender nehmen).

alles was du brauchst is ein appender an dem man eventListener andocken kann, dann brauchst du nur noch deine komponente auf die events reagieren lassen. dazu muestest du imho die doAppend methode ueberschreiben. schaue dir doch mal die sourcen eines implementierten appenders an
 

F4llen4ngel

Aktives Mitglied
wen du mal auf der log4j seite eines der beiden deutschen "tutorials" anklickst wirst du 2 programme entdecken die glaube ich das machen was du möchtest :)
 

m!k3

Bekanntes Mitglied
ja da war ich auch schon.. da wird zwar gezeigt dass es möglich ist, aber die Source entspricht nur normales Konsolen Logging..

also nicht wirklich eine Hilfe, wie das umzusetzen ist oder bin ich blind?!
 

F4llen4ngel

Aktives Mitglied
kann sein das ich mich missverständlich ausgedrückt habe - bzw. einfach an deiner frage vorbeigeschossen bin ;-)

du schreibst die sachen weiterhin in eine textdatei - steht auf der seite ja aucm im source, somit haste recht!
was ich nur meinte ist, dass es spiezielle Programme gibt die dir das lesen der log dateien leichter machen und das
2 von ihnen auf der seite per screenshot gezeigt werden ... :D
 

m!k3

Bekanntes Mitglied
achso alles klar.. mhh irgendwo muss es doch n beispiel geben wie ichs direkt auf die gui bringe... mit dem Appender selber schreiben komm ich nicht wirklich klar..

:-(
 
R

Roar

Gast
leite einfach von SkeletonAppender ab und überschreibe die doAppend() methode. Dort fügst du einfach die für dich relevanten informationen die du aus dem übergebenen objekt entnehmen kannst in irgendeine textarea ein. deinen appende fügst du dem logger mit addAppender() hinzu.
 

m!k3

Bekanntes Mitglied
Roar hat gesagt.:
leite einfach von SkeletonAppender ab und überschreibe die doAppend() methode. Dort fügst du einfach die für dich relevanten informationen die du aus dem übergebenen objekt entnehmen kannst in irgendeine textarea ein. deinen appende fügst du dem logger mit addAppender() hinzu.

mh.. danke Roar..
ich glaub ich werds wohl ganz simpel lösen.. mir die Messages zusammenstellen und dann ausgeben ohne Log4J

weil habe halt das Problem, dass das JTextPane auf dem die Ausgabe erfolgen soll nicht in der Instanz ist, wo ich eigentlich protokolliere, sprich folgendes Schema:

Habe zwei Klassen:
FTP_GUI
FTP_Control

Auf der GUI werden Selektionen für die FTP Aktion gemacht, d.h. erst bei einer Bestätigung über einen Button wird über FTP_Control die Sitzung aufgebaut zu einem Server und Daten hin- und hergeschoben.

Soweit so gut - ich benutze für die FTP Sitzung das Package "edtftpj-1.5.1".
Dieses Package beinhaltet auch so eine eingeschränkte Log4J Version.

Außerdem gibt es einen FTPMessageCollector, der die Aktionen von FTP (Login, Upload, Download, wie man es halt von FTP kennt mitprotokolliert).

Im Demo von "edtftpj-1.5.1" werden dann die Logs mit dem "Log4J" Logger gemacht und auch die Messages von FTPMessageCollector ausgegeben.

Das ist so eigentlich wunderbar und wollte ich auch so handhaben - nur eben auf die GUI.

Nun hab ich halt ein JTextPane mit einem StyledDocument und das müsste halt zur Laufzeit von FTP_Control beschrieben werden.


hier mal kleine Coding-Auszüge:

Code:
public class FTP_Control {
    
    private Logger log = Logger.getLogger(FTP_Control.class);
    private FTPClient ftp;
    private FTPMessageCollector listener;
    
    /** Creates a new instance of FTP_Control */
    public FTP_Control(String host, String user, String password) {
        
        ftp = null;
        Logger.setLevel(Level.ALL);
        
        try {
            // set up client
            log.info("Connecting");

            ftp = new FTPClient(host);
            listener = new FTPMessageCollector();
            ftp.setMessageListener(listener);

             // login
            log.info("Logging in");
            ftp.login(user, password);

            // set up passive ASCII transfers
            log.debug("Setting up passive, ASCII transfers");
            ftp.setConnectMode(FTPConnectMode.PASV);
            ftp.setType(FTPTransferType.ASCII);

        } catch (Exception e) {
            e.printStackTrace();
        }

Code:
    private void startAction(String action)
    {
        int rc = this.checkInput();
        
        if (rc == 0){
        
            String log;
            FTP_Control ftp_control = new FTP_Control(host, user, password);
            ftp_control.setRoot();
        
            if (action == upload){
                
                if (this.getSelectedMode() == write){
                    ftp_control.upload(file_src.getText(), file_trg.getText(),false);
                }
                else if (this.getSelectedMode() == append){
                    ftp_control.upload(file_src.getText(), file_trg.getText(),true);
                }
            }
            else if (action == download){
                ftp_control.download(file_src.getText(), file_trg.getText());
            }
        
            ftp_control.exitClient();
            log = ftp_control.getLog();
      
            this.writeLog(log,regular);  
        }
    }
    
    private void writeLog(String logtext, String style)
    {
        try 
        {
            StyledDocument doc = jtp.getStyledDocument();
            doc.insertString(doc.getLength(),logtext,doc.getStyle(style));
            doc.insertString(doc.getLength(),newline,doc.getStyle(italic));
        } catch (BadLocationException ble) 
        { System.err.println("Couldn't insert initial text into text pane."); }          
    }

In der Methode startAction wird die Klasse FTP_Control aufgerufen und die Aktionen ausgeführt, zum Schluss hol ich mir hier momentan das Log vom FTPMessageCollector und schreibs auf das TJextPane mit der Methode writeLog

Hoff ihr versteht was ich meine und wo nun mein Problem liegt, eigentlich möcht ich zur Laufzeit von FTP_Control Kommentare aufs JTextPane ausgeben mit dem Log4J

das Package edtftpj-1.5.1 gäbs hier: www.enterprisedt.com/products/edtftpj/choose.html
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M log4j Problem mit jlink Allgemeine Java-Themen 19
T Log4j integrieren, wie? Allgemeine Java-Themen 7
T Logging mit org.apache.logging.log4j Allgemeine Java-Themen 1
M Schutz vor Log4J Allgemeine Java-Themen 2
W Sicherheitslücke in Log4j Allgemeine Java-Themen 66
8u3631984 Generelle Log4j.xml für alle Module Allgemeine Java-Themen 5
MiMa mit Log4j einzeln Protokollieren Allgemeine Java-Themen 7
A JWS application - log4j wie configurieren Allgemeine Java-Themen 1
A Log4j configurieren Allgemeine Java-Themen 1
L Applet Wo loggt log4j bei Applets Allgemeine Java-Themen 0
T Log4J - Deaktivierung für einzelne Klassen Allgemeine Java-Themen 7
D Log4J RollingFileAppender rolliert nicht Allgemeine Java-Themen 3
MiMa Log4j in Dateien mit eigenem Namen schreiben Allgemeine Java-Themen 3
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
O log4j - Verständnisfrage Allgemeine Java-Themen 1
O [log4J] Unterschied SocketServer <-> SimpleSocketServer Allgemeine Java-Themen 0
O log4j pfad per umgebungsvariable setzen Allgemeine Java-Themen 5
T [log4j] Wie nutzt man log4j.properties? Allgemeine Java-Themen 7
O log4j, Problem bei Ausgabe null-Wert Allgemeine Java-Themen 0
O log4j - eigenes Log für einzelne Klasse Allgemeine Java-Themen 5
J log4j ohne propertiedatei Allgemeine Java-Themen 4
H [Logback || log4j] Wie richtig loggen / Log Instanzen verwalten Allgemeine Java-Themen 2
A Threads Log4J Logger wird "überschrieben" Allgemeine Java-Themen 3
N Log4J PatternLayout Allgemeine Java-Themen 2
S Frage zu Format Modifiers in Log4j Allgemeine Java-Themen 11
S log4j, root logger logt nur FATAL? Allgemeine Java-Themen 9
P Wie bei log4j den Dateipfad der Logdatei zur Laufzeit ändern? Allgemeine Java-Themen 3
C Grundsätzliches zu log4j Allgemeine Java-Themen 8
C Log4J mit 2 Appender Allgemeine Java-Themen 4
reibi log4j - Bestes Konzept Allgemeine Java-Themen 10
F System.out.println mit log4j ersetzen Allgemeine Java-Themen 10
F Log4J - Detaillierte Logeinträge Allgemeine Java-Themen 2
F log4j DailyRollingFileAppender Allgemeine Java-Themen 2
T Wahrscheinlich Problem mit log4j.properties Allgemeine Java-Themen 19
B Log4J und Categories Allgemeine Java-Themen 4
P Log4J - logt nicht Allgemeine Java-Themen 5
L log4j layout Allgemeine Java-Themen 3
S Log4j und SLF4J - Laufzeitänderungen Allgemeine Java-Themen 11
E Eclipse Axis, Jena, HTTPClient - log4j Meldungen deaktivieren? Allgemeine Java-Themen 6
ruutaiokwu log4j appender in log4j.xml in java referenzieren... Allgemeine Java-Themen 6
G log4j File erzeugen und Pfad bestimmen Allgemeine Java-Themen 3
ruutaiokwu System.out auf files umlenken in log4j.xml Allgemeine Java-Themen 4
H log4j & taskname Allgemeine Java-Themen 3
C log4j.properties wird nicht verwendet?? Allgemeine Java-Themen 3
S log4j, Datum in Fileappendern formatieren Allgemeine Java-Themen 4
G Log4J Verzeichnis der Log-Datei konfigurieren Allgemeine Java-Themen 8
K log4j-Warnung mit Quartz Allgemeine Java-Themen 3
G log4j package filter Allgemeine Java-Themen 10
G log4j - Behandlung nicht explizit abgefangener Exceptions Allgemeine Java-Themen 5
S log4j - doppeltes Logging Allgemeine Java-Themen 4
R log4j - Ausgabe der Logs Allgemeine Java-Themen 3
S log4j Logging über mehrere Klassen Allgemeine Java-Themen 13
MQue log4j mit hibernate Allgemeine Java-Themen 3
G Log4J - Logs älter als 3 Tage löschen Allgemeine Java-Themen 5
S log4j.dtd nicht in jar gefunden Allgemeine Java-Themen 7
H log4j - täglichen DailyRollingFileAppender Allgemeine Java-Themen 2
H Mit Log4j erzeugte Datei einlesen Allgemeine Java-Themen 2
hdi log4j in eine Datei Allgemeine Java-Themen 21
S Log4J DailyRollingFileAppender Allgemeine Java-Themen 4
M Log4J funktioniert nicht unter anderem Benutzer Allgemeine Java-Themen 5
B Log4j --- Welchen Appender, wie konfigurieren Allgemeine Java-Themen 3
F Logger in mehrere Dateien mit log4J Allgemeine Java-Themen 4
T Log4J: Bei Programmstart immer eine neue LogDatei erzeugen Allgemeine Java-Themen 9
ARadauer log4j DailyRollingFileAppender Allgemeine Java-Themen 4
B log4j löscht meine Logdateien Allgemeine Java-Themen 2
V Feinheitsfragen zu log4j Allgemeine Java-Themen 21
R log4j Allgemeine Java-Themen 5
DEvent log4j, commons logging, log4j.properties and co Allgemeine Java-Themen 12
K log4j Anzeigeformat Allgemeine Java-Themen 2
O Konkurrierender Zugriff auf Log-Datei mit Log4J Allgemeine Java-Themen 11
A log4j 1.3 und ändern der log Konfiguration zur Laufzeit Allgemeine Java-Themen 4
J Alte Log Files löschen mit log4j Allgemeine Java-Themen 3
U Log4j - gleichzeitige geöffnete File handles Allgemeine Java-Themen 2
P log4j Allgemeine Java-Themen 21
P log4j Allgemeine Java-Themen 9
B log4j FileAppender Dateizugriff Allgemeine Java-Themen 7
G log4j Allgemeine Java-Themen 13
J Log4j / commons-logging Allgemeine Java-Themen 3
V log4j Problem . Allgemeine Java-Themen 8
D Log4j-HTMLLayout Allgemeine Java-Themen 2
G Log4j - Log-File Allgemeine Java-Themen 6
Q [log4j] nur ein Mal konfigurieren Allgemeine Java-Themen 2
Y log4J XML Konfiguration Allgemeine Java-Themen 8
K Logging mit Log4j Allgemeine Java-Themen 2
P log4j: Übersicht der Properties Allgemeine Java-Themen 5
G eigener logger mittels classe (dynamische logfilename) log4j Allgemeine Java-Themen 15
K log4j - eigene Info-Ausgaben Allgemeine Java-Themen 5
K log4j - Fehlermeldung Allgemeine Java-Themen 2
J stackTrace mit log4j loggen Allgemeine Java-Themen 9
F log4j XML-Syntax Allgemeine Java-Themen 4
F log4j loggen in mehrere Dateien Allgemeine Java-Themen 4
S Logging mit log4j Allgemeine Java-Themen 17
S Log4J mit 2 Appender, einer soll nur INFO loggen Allgemeine Java-Themen 3
Q Ant und org.apache.log4j.xml.DOMConfigurator Problem Allgemeine Java-Themen 2
S log4j Allgemeine Java-Themen 2
V log4j.properties wird in der jar Datei nicht gefunden? Allgemeine Java-Themen 2
F [Log4J] Logdatei mit einem schlag über 200MB! Allgemeine Java-Themen 4
S log4j Protokoll in XML Allgemeine Java-Themen 11
B Wohin mit log4j.properties Allgemeine Java-Themen 2
M Rat gesucht: Logging (log4J oder java.util.logging oder .) Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben