Seite 1 von 1

[gelöst] Logdateien anzeigen [gelöst]

Verfasst: 10. November 2009 09:18
von AuE
Hi,

was würdet ihr machen um eine Logdatei anzuzeigen. Anforderung: Die Datei kann sehr groß sein (meherere Mio Zeilen)

Mein Plan ist momentan ein QStringList Model zunehmen und das in ein View packen.

Habt ihr andere Ideen? Vor allem welche die auch performant sind?


Gruß

Verfasst: 10. November 2009 12:19
von upsala
Ich würde mir mal den Source-Code von 'less' anschaun.

Dann würde ich die Datei nicht in den Speicher laden, sondern nur die Positionen der Zeilenumbrüche und diese würde ich im Hintergrund in einem separaten Thread aufbauen.

Ein Model dazu würde ich auch selbst schreiben, da du ja dynamisch nachladen must.

Verfasst: 10. November 2009 12:27
von AuE
Das klingt ganz ok-den Code von less werd ich mir nachher mal anschauen-was hällst du von meinen Plan:
Beim einesen ( dass funktioniert nur auf knopfdruck, keine feste Zeit) wird in einer Runnable die Datei eingelesen(komplett via stream) und aanschließend Zeile für Zeile ein Signal(qued connectio) rausgehauen welches dann die Daten ins Modell packt.

Wie meinst du das mit nicht den Text in den Speicherladen? Wenn ich ihn anzeigen will muss ich ihn doch laden, oder?

Verfasst: 10. November 2009 17:00
von upsala
Du willst ein Log-File das event. mehrere GByte groß ist komplett in den Speicher laden?

Verfasst: 10. November 2009 17:50
von AuE
Ungern;-)
Handelt sich um logs aus /var/logsprich sie könnten es sein.
Was würdest du anders machen? Das mit den Textpositionen hab ich nicht verstanden.

Verfasst: 16. November 2009 12:19
von AuE
Habs ;-)

Einfach mit einen Textstream arbeiten -> Anfangs- und Enposition merken und dann via seek an die Stelle bei bedarf springen und nur so viele Zeilen lesen wie angefragt werden.

Verfasst: 16. November 2009 16:52
von upsala
Hatte ich was anderes geschrieben?

Verfasst: 16. November 2009 17:10
von AuE
das ist rhetorisch ;-)

und für dich ja schon fast ein Lob an mich :-D