Hallo,
ich habe da etliche log-Dateien, in die eine zeitlang ungehemmt alles mögliche geloggt wurde.
Die Dateien sind mittlerweile 100MB groß. Leider habe ich das vorher nicht bemerkt.
Mittlerweile habe ich einige Filter in die Devices eingebaut (z.B. event-on-change-reading) und es werden dadurch nur mehr ausgewählte Werte geloggt.
Trotzdem sind die Dateien natürlich extrem groß. FHEM meldet z.B. mehr als 500.000 Zeilen in den Dateien.
Kann ich in den Dateien händisch einfach die nicht mehr benötigten Zeilen rauslöschen?
Die logs sind so definiert:
defmod FileLog_MQTT2_shellyswitch25_E098068CFBCC FileLog ./log/MQTT2_shellyswitch25_E098068CFBCC-%Y.log MQTT2_shellyswitch25_E098068CFBCC
attr FileLog_MQTT2_shellyswitch25_E098068CFBCC logtype text
attr FileLog_MQTT2_shellyswitch25_E098068CFBCC room Shelly,Z_System->LogFiles
Ein "Clear" löscht das log-File komplett, und bei "Reopen" wird das Reading "linesInTheFile" nicht geändert.
Danke im Voraus
lg, Gerhard
Hallo Gerhard,
wenn Du genaue Suchmuster hast kannst Du sowas machen:
sed -i /<Suchmuster in der Zeile>/d <Logfile>
ich verwende das bei "Unfällen" um das normale Logfile wieder händelbar zu machen.
Das geht dann mit qx() auch in der FHEM Kommandozeile.
{qx(sed -i /<Suchmuster in der Zeile>/d <Logfile>)}
Beispiel zum Probieren ohne Löschen! die Variante zeigt nur an:
{qx(sed /<Suchmuster in der Zeile>/d <Logfile>./log/MQTT2_shellyswitch25_E098068CFBCC-2020.log)}
Das Problem mit dem händisch löschen sind die Rechte (und es ist öde), die musst Du anschließen wieder auf fhem: setzen (chown fhem: filename). ;)
Gruß Otto
Hallo Otto,
pfuh, Danke. Darauf wäre ich nie gekommen.
Und wie bekommst Du die Anzeige im fhem wieder gerade?
z.B. das Reading "linesInTheFile"
Oder ist das egal?
Danke, lg, Gerhard