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

Alles rund um die Programmierung mit Qt
Antworten
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

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

Beitrag 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ß
Zuletzt geändert von AuE am 16. November 2009 12:19, insgesamt 1-mal geändert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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.
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag 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?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Du willst ein Log-File das event. mehrere GByte groß ist komplett in den Speicher laden?
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag 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.
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag 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.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Hatte ich was anderes geschrieben?
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

das ist rhetorisch ;-)

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