Status-Log - HTML

Nisbo

Bekanntes Mitglied
Servus,

was nimmt man am besten um ein Status-Log zu erstellen welches man auch mit HTML formatieren kann ?

Ich habe bei mir ein Statuslog wo man sieht wann sich das Programm mit einem Server verbunden hat bzw wann besonderen Ereignisse aufgetreten sind. Um einige Einträge besonders hervor zu heben nutze ich HTML.

Momentan habe ich dafür ein Label incl Scrollpane "zweckentfremdet" (war eigentlich ursprünglich nur gedacht um immer den letzten Status anzuzeigen) wo ich dann den Inhalt des Labels wieder auslese, das HMTL Grundgerüst entferne, die neuste Meldung vorne anfüge und das HTML gerüst wieder einfüge.

Das Problem ist das es irgendwann wenn es viele meldungen werden auf den Speicher geht, sprich der Speicherbedarf geht von ca 110 MB auf ca 700-800 MB hoch und das Programm wird langsam.

Java:
    public void sendInfoMessage(String message){
        this.lblInfoMessages.setText("<html><body><i>" + getLocalDateTime() + "</i> " + message + "<br>" + this.lblInfoMessages.getText().replace("<html><body>", "").replace("</body></html>", "") + "</body></html>");
    }

Das diese Lösung nicht schön ist weiß ich ;)

Was nimmt man am besten jetzt dafür so das ich auch weiterhin HTML nutzen kann um Meldungen bzw nur einzelne Wörter einzufärben ?

Tabelle ist ist da ja nicht das Richtige, bei JList hatte ich auch schon die Erfahrungen gemacht wenn die Einträge zu viel werden (so über 1000 Einträge) das dann die Anzeige manchmal durcheinander kommt und Einträge fehlerhaft, teilweise übereinander dargestellt werden. Aber in dem Fall wurden die Einträge auch auf einmal erstellt.
 
Zuletzt bearbeitet:

JStein52

Top Contributor
Es scheinen ja sehr viele Einträge werden zu können. Hältst du die alle im Speicher bzw. in einer JTable oder JList ? Du kannst ja eh immer nur 50-60 am Bildschirm darstellen .... Vielleicht musst du dir dafür einen geeigneten Mechanismus überlegen
 

Nisbo

Bekanntes Mitglied
Ja die bleiben alle im Speicher / angezeigt über 3 Zeilen mit ScrollPane versehen
Habe es jetzt mal auf Tabelle umgestellt und teste mal, momentan schaut es noch gut aus aber so richtig kann man erst was sehen wenn es ein paar Stunden gelaufen ist.

Evtl sollte ich das dann auch mal auf 100 Einträge begrenzen und den Rest "nachladbar" machen, wäre dann auch ganz Praktisch für eine Suchfunktion in den Einträgen
 

JStein52

Top Contributor
Evtl sollte ich das dann auch mal auf 100 Einträge begrenzen und den Rest "nachladbar" machen
Genau das meinte ich. Du könntest z.B. immer 100 Einträge in der Tabelle halten, 100 davor und 100 danach im Speicher, beim Blättern tauscht du die Daten entsprechend und lädtst im Hintergrund die nächsten 100 nach
 

JStein52

Top Contributor
In welcher Form liegen diese Status-Logs denn vor ? Stehen die in einer Datei oder fallen sie "online" an und werden dargestellt ?
 

Thallius

Top Contributor
Naja wenn er eine JTable benutzt ist das nur bedingt nötig. ich habe teilweise Tabellen mit über 100000 Einträgen die problemlos im Speicher gehalten werden. Frage ist halt wie viele Einträge es bei ihm wirklich werden. Wenn das Tool 24/7 läuft und logs generiert dann muss er natürlich irgendwann mal anfangen die alten Sachen wegzuspeichern. Bei einem Log würde ich dann immer nach Mitternacht z.B. die Einträge des letzten vorletzten Tages in eine eigene Datei mit entsprechendem DAtum im Filenamen speichern und aus der angezeigten Liste löschen. Sieht sich ja es keiner Log von vor zwei Tagen an.

Gruß

Claus
 

Nisbo

Bekanntes Mitglied
Die Daten fallen "Online an", werden mittels Socket.IO / Websocket im JSON gelesen
dazu kommen halt noch Nachrichten vom Programm selbst wenn jemand etwas ändert bzw Connect / Disconnect zum / vom Server

Für 24/7 Einsatz ist das Programm eigentlich nicht gedacht, aber man weiß ja nie, einige User haben ihr Rechner ja immer an und lassen alles mitlaufen.

100.000 Nachrichten bekomme ich zwar am Tag locker rein aber davon werden nicht alle ausgegeben da sie vorher noch gefiltert werden.

Die 700 MB ist halt das was das Programm an Speicher gefressen hat mit der JLabel Methode, evtl hat das der GC auch nicht richtig funktioniert. Beim erreichen der 700 MB waren es geschätzt vielleicht 1000 Zeilen gewesen mit max 100 Zeichen. Was mir dabei auch aufgefallen ist war das wenn ich das programm minimiert hatte und es dann wieder in den Vordergrund geholt habe das es mal einen Anstieg von 100-200 MB gab. Evtl hätte man da was mit UpdateUI oder repaint machen können ?

Jetzt läuft das Programm seit ca 1 Stunde, hat ca 10.000 Nachrichten verarbeitet und ist bei 80 MB Speicherbedarf, mal geht es hoch auf 100 MB dann wieder runter. Also momentan ist alles bestens. Natürlich werden keine 10.000 Einträge in der Tabelle angezeigt, das sind momentan vielleich gerade mal 100 wenn es hoch kommt (habe gerade keinen Counter drin)
 

Nisbo

Bekanntes Mitglied
EDIT geht leider nicht mehr, jetzt nach ca 4:40 Stunden schaut es immer noch gut aus, aktuell 91 MB Speicherbedarf, das Problem scheint also beseitigt zu sein.

Warum das mit dem Label so ein Haufen Speicher gebraucht hat weiß ich leider nicht, aber wie oben ja schon gesagt ist das nicht wirklich eine gute Lösung gewesen.
 

Nisbo

Bekanntes Mitglied
Also theoretisch sollte das kein neues Label adden, hatte nur mit Get und SetText gearbeitet

Java:
    public void sendInfoMessage(String message){
        this.lblInfoMessages.setText("<html><body><i>" + getLocalDateTime() + "</i> " + message + "<br>" + this.lblInfoMessages.getText().replace("<html><body>", "").replace("</body></html>", "") + "</body></html>");
    }
 

Nisbo

Bekanntes Mitglied
Nochmal als Nachtrag falls es wen interessiert, das Programm ist jetzt mal 2 Tage durchgelaufen
ca 700.000 Nachrichten empfangen, 358,5 MB Traffic und die Speicherauslastung liegt bei 149 MB
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I File Uploader... Statusanzeige, Berechnung des Status etc. Java Basics - Anfänger-Themen 0
R JTextArea final Status ändern Java Basics - Anfänger-Themen 11
J checkbox status abfragen und drucken Java Basics - Anfänger-Themen 13
D Status sicher - JCheckbox Java Basics - Anfänger-Themen 4
Guybrush Threepwood System.exit(int status) Java Basics - Anfänger-Themen 3
hdi System.exit() Status Code in Eclipse? Java Basics - Anfänger-Themen 2
H 1 Byte Status Variable Java Basics - Anfänger-Themen 3
G Status von JRadioButton Java Basics - Anfänger-Themen 5
M Status von ext. Programm abfragen Java Basics - Anfänger-Themen 2
G JDialog-Status im Frame abfragen Java Basics - Anfänger-Themen 2
G Checkbox Status Bit in einem Byte sichern Java Basics - Anfänger-Themen 5
J Notebook-Batterie-Status auslesen? Java Basics - Anfänger-Themen 10
O viele Name mit jeweils zugehörigen Status in .txt Speichern Java Basics - Anfänger-Themen 16
N port auf status abfragen Java Basics - Anfänger-Themen 5
W Javadoc HTML erzeugen mit allen dependency Java Basics - Anfänger-Themen 11
M html-seite drucken (gerendert) Java Basics - Anfänger-Themen 3
I HTML Code säubern Java Basics - Anfänger-Themen 4
B HTML File einlesen inkl. Bilder? Java Basics - Anfänger-Themen 2
B HTML Datei einlesen und HTML Code in String wandeln Java Basics - Anfänger-Themen 19
B HTML Code in XML speichern Java Basics - Anfänger-Themen 3
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
K Erstes kleines Spieleprojekt - Java GUI in HTML einbinden Java Basics - Anfänger-Themen 3
B String nach HTML formatieren Java Basics - Anfänger-Themen 9
S HTML-Quelltext hinter HTTPS Java Basics - Anfänger-Themen 1
J Input/Output Input Buttons Html mit JSP Java Basics - Anfänger-Themen 3
E HTML in Java einbinden oder JavaScript? Java Basics - Anfänger-Themen 5
D Mit Java HTML bzw Javascript auslesen Java Basics - Anfänger-Themen 1
G Servlet - externe HTML (URL) auslesen Java Basics - Anfänger-Themen 1
S Text aus einer HTML Datei auslesen Java Basics - Anfänger-Themen 1
krgewb Input/Output Umlaute in generierter HTML-Datei Java Basics - Anfänger-Themen 7
C Methoden Welche JSoup Methoden Und Parameter für diese HTML Tags Java Basics - Anfänger-Themen 4
I Meta Tags vergleichen mit Html Vorgabe Java Basics - Anfänger-Themen 8
B HTML Code drucken Java Basics - Anfänger-Themen 4
D HTML Manipulation Navigation Java Basics - Anfänger-Themen 1
Z Html Element aus der Webseite auslesen Java Basics - Anfänger-Themen 1
D Erste Schritte HTML aus JEditorPane drucken Java Basics - Anfänger-Themen 5
M Fragen zum Auslesen von HTML Seiten Java Basics - Anfänger-Themen 5
M Java und Html Java Basics - Anfänger-Themen 4
I HTML Code in Bild (transparent) konvertieren Java Basics - Anfänger-Themen 0
I Watermark erstellen mit HTML in Bild? Java Basics - Anfänger-Themen 7
T Ausgabe in HTML :( Java Basics - Anfänger-Themen 19
F HTML Datei in .jar speichern und abändern Java Basics - Anfänger-Themen 2
S mit Java HTML Button drücken "lassen" Java Basics - Anfänger-Themen 8
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
T HTML-Inputbox ansteuern Java Basics - Anfänger-Themen 4
I HTML Tabelle nur so lange erzeugen bis Höhe erreicht Java Basics - Anfänger-Themen 9
I HTML in String wandeln? Java Basics - Anfänger-Themen 1
D javacode durch Html ausfuehren Java Basics - Anfänger-Themen 13
W HTML Code, Umlaute werden nicht richtig dargestellt Java Basics - Anfänger-Themen 7
C Html in einem JEditorPane anzeigen Java Basics - Anfänger-Themen 2
I jar-Datei in HTML einbinden Java Basics - Anfänger-Themen 6
O HTML -> BBCode Parser? Java Basics - Anfänger-Themen 3
O Methode in andere Klasse verlegt, "auslesen" einer HTML Seite verschnellert - Problem. Java Basics - Anfänger-Themen 4
V Umlaute beim Parsen einer HTML Seite Java Basics - Anfänger-Themen 4
C Java Applet in html. Pong - old school Spiel Java Basics - Anfänger-Themen 10
J Methode um eine HTML-Datei zu öffnen Java Basics - Anfänger-Themen 10
H Schnell HTML-Tags finden Java Basics - Anfänger-Themen 5
H Welcher Html-Parser? Java Basics - Anfänger-Themen 8
G Probleme beim HTML auslesen Java Basics - Anfänger-Themen 6
J Html zugriff - POST Request/Response Java Basics - Anfänger-Themen 4
A HTML-Code auslesen und mit einem Wert in der property-Datei vergleichen Java Basics - Anfänger-Themen 2
Z Input/Output HTML-Seite einlesen Java Basics - Anfänger-Themen 4
H Interface JTextPane html formatiert kopieren Java Basics - Anfänger-Themen 2
L Applet soll Html-File öffnen Java Basics - Anfänger-Themen 2
L NetBeans Applet in html Java Basics - Anfänger-Themen 4
H Java Server/Client, HTML Seite anzeigen Java Basics - Anfänger-Themen 2
D Wie den HTML-Teil des Chat Tutorials aus dem FAQ-Bereich starten? Java Basics - Anfänger-Themen 5
C Link wie bei HTML Java Basics - Anfänger-Themen 7
F Methoden replaceAll (regex) HTML Java Basics - Anfänger-Themen 3
M Mit Java eine HTML-Seite speichern Java Basics - Anfänger-Themen 11
C Java in HTML einbinden Java Basics - Anfänger-Themen 2
N Website HTML mit JavaScript abrufen Java Basics - Anfänger-Themen 9
R JSON - Ausgabe als HTML mit gson Java Basics - Anfänger-Themen 6
R Suche Regex Ausdruck für HTML Java Basics - Anfänger-Themen 11
A JEditorPane + html -> java.io.IOException: invalid url Java Basics - Anfänger-Themen 4
S Lightbox Script vs. Taco HTML Script Java Basics - Anfänger-Themen 4
R Pattern bzw. Regex HTML-Code Java Basics - Anfänger-Themen 10
S String mit ASCII/HTML Zeichen darstellen Java Basics - Anfänger-Themen 10
S HTML Regularer Expression Java Basics - Anfänger-Themen 20
S regulärer Ausdruck HTML Java Basics - Anfänger-Themen 5
D Html Formular auswerten Java Basics - Anfänger-Themen 8
P Java Object das eine HTML Datei repräsentiert Java Basics - Anfänger-Themen 19
eLogic Einlesen von HTML-Source Java Basics - Anfänger-Themen 6
turmaline Ein regulärer Ausdruck für HTML-Sonderzeichen Java Basics - Anfänger-Themen 3
H html-Text mit Formatierung in String speichern Java Basics - Anfänger-Themen 4
S Java und HTML- Drop Down- Mehrfachauswahl Java Basics - Anfänger-Themen 3
A execute jar from html Java Basics - Anfänger-Themen 6
D Interpreter-Fehler JavaApplet läuft in der IDE aber nicht im HTML Dokument Java Basics - Anfänger-Themen 9
StupidAttack Html Code durchsuchen Java Basics - Anfänger-Themen 2
T Servlet HTML-Formular Java Basics - Anfänger-Themen 9
TheKing HTML Formular mit Java ausfüllen und absenden Java Basics - Anfänger-Themen 9
P HTML <input> Feld in einem JLabel auslesen Java Basics - Anfänger-Themen 4
C einfacher Link zu *.html Datei möglich? Java Basics - Anfänger-Themen 4
V javascript und HTML: hoch 2 Java Basics - Anfänger-Themen 2
M index.html fehlt Java Basics - Anfänger-Themen 12
3 Eine HTML Datei in eine Java Datei umschreiben Java Basics - Anfänger-Themen 23
Weltall 7 Applet in HTML einbinden Java Basics - Anfänger-Themen 3
A Java in Html einbinden Java Basics - Anfänger-Themen 2
M Frage zum Aufruf eines Applets aus einer HTML - Datei Java Basics - Anfänger-Themen 3
sylo Auf HTML-Dateien in einer Jar zugreifen Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben