[VB.NET] Logfiles verkleinern wenn event-on-change-reading nicht gesetzt war

Begonnen von bismosa, 10 Januar 2019, 20:42:16

Vorheriges Thema - Nächstes Thema

bismosa

Hallo!

Mal ein etwas anderes Beispiel. Ich habe gerade in mein LOG-Verzeichnis geschaut und mit erschrecken festgestellt, das diverse LOG-Dateien überquellen.
Warum? Jedes Event von den Geräten wurde ungefiltert geloggt. Ich habe mich mit event-on-change-reading bzw. dem Filtern der Werte nie richtig beschäftigt.

Wichtig:
1.) Ursache beheben! Mit einem
attr <device> event-on-change-reading .*

Das ist nicht überall sinnvoll. Siehe Plotabriss etc.

2.) Backup der Daten anlegen

3.) Wie nun die vorhandenen Daten verkleinern?
Da mir nichts schlaueres eingefallen ist und ich viel in vb.net programmiere habe ich mir ein kleines Hilfsprogramm erstellt. Dies filtert genau diese doppelten readings raus.
Ich weiß...perl wäre besser gewesen...aber es sollte ja nur ein schneller Helfer in der Not werden.

Ich habe die exe und den Quelltext im Anhang.

Mein erschreckendes Beispiel war eine Log-Datei (Squeezebox Player)
132MB vorher
7,5 MB nachher

Aber auch bei den anderen Logs habe ich viele MB eingespart.

Das Programm ist fast selbsterklärend.
Filter same values auswählen, "Open File" und nach der Berechnungszeit (kann je nach LOG-Größe einige Zeit dauern) "Start" betätigen.

Vielleicht kann das ja nochmal jemand gebrauchen.

P.S: Bei zu großen Logs kommt es zu einem Absturz, da der Speicher nicht ausreicht. Dann einfach mit einem Texteditor in mehrere Teile aufsplitten und bearbeiten.

Gruß
Bismosa
1x nanoCUL 433MHz (SlowRF Intertechno) für Fenstersensoren
1x nanoCUL 868Mhz für MAX (9x HT 1xWT)
1x ZigBee CUL
Weiteres: Squeezebox server, Kindle Display, ESP8266, Löterfahrung, ...