Guten Morgen!
Mein Log wird durch u.a. durch viele Fehlermeldungen der Photovoltaikanlage (die sich auch von den Spezialisten nicht lösen lassen) extrem vollgemüllt.
Ich würde das Log daher gern automatisch periodisch löschen, nämlich zB jeden zweiten Tag.
Hat jemand eine Idee, wie sich das lösen ließe? Wäre es einfacher, dies in Verbindung mit einem Neustart des Systems zu verbinden?
In Fhem nutze ich einen Code aus dem Forum "dellog", der prima funktioniert. Vielleicht lässt sich hierauf aufsetzen?
defmod c_dellog cmdalias dellog AS {qx(truncate $currlogfile --size 0);;Log 1, "Logfile gelöscht";;}Forums- und Internetrecherche war leider erfolglos.
Vielen Dank,
Ingo
Warum so kompliziert??
attr global nrarchive 2sollte das Problem mit Bordmitteln lösen.
Achtung:
Ggf. bei anderen Log-Files das Attribut entsprechend höher setzen.
Vielen Dank, Nobbynews!
Wenn ich das richtig verstehe, wird so die Anlage mehrerer Logarchive begrenzt.
Das hindert das (einzelne) Fhem-Log aber nicht, eine ganz enorme Größe zu erreichen, oder liege ich falsch?
LG
Zitat von: is2late am 07 Dezember 2025, 10:39:15Das hindert das (einzelne) Fhem-Log aber nicht, eine ganz enorme Größe zu erreichen, oder liege ich falsch?
Die Größe des Log-Files wird davon nicht beeinflusst.
Zitat von: is2late am 07 Dezember 2025, 10:19:40Fehlermeldungen der Photovoltaikanlage (die sich auch von den Spezialisten nicht lösen lassen)
Das halte ich, vorsichtig gesagt, für fragwürdig. Wo soll das diskutiert worden sein?
pah
ZitatDas halte ich, vorsichtig gesagt, für fragwürdig. Wo soll das diskutiert worden sein?
Oh, eine angenommene Herausforderung ;) Me alegro mucho!
Photovoltaik Problem Fehlermeldungen (https://forum.fhem.de/index.php?topic=126126.msg1336926#msg1336926)
Beitrag #30 und #294.
LG Ingo
Guten Morgen,
Zitat von: is2late am 07 Dezember 2025, 10:19:40Ich würde das Log daher gern automatisch periodisch löschen
So geht es nicht?
set Logfile clearGeht übrigens mit jedem TYPE=FileLog ;)
Gruß Otto
Lege doch einfach Tages-Logs an, dann funktioniert der Vorschlag mit nrarchive=2 genau so, wie Du es möchtest.
Oder im Device "global" gibt es das Attribut "ignoreRegexp"
Texte, wo dieses Regexp matcht, werden nicht geloggt. ^ und $ wird zum Regexp hinzugefügt, wie bei notify und FileLog.wenn sich die Ursache für die unerwünschten Einträge nicht abstellen lässt.
man kann auch die nervigen Einträge im Nachgang rauslöschen, nehme ich immer wenn ich was im Logfile schauen will es aber zu unübersichtlich geworden ist, Beispiel in der Kommandozeile für Zeilen mit Unknown code autocreate.
{qx(sed /Unknown.code.autocreate/d $currlogfile > temp.log ;; cp temp.log $currlogfile;; rm temp.log);;Log 1, "Logfile manipuliert"}
Man sollte aber nicht vergessen, das FileLog-device mit "set ... reopen" erneut in FHEM zu öffnen, wenn man es von außen manipuliert.
@betateilchen - irgendwie war ich schon gespannt, ob dieser Einwand kommt :)
Dazu kann ich folgendes berichten:
- das Device Logfile kennt leider kein reopen - warum weiß ich nicht. Jedes andere FileLog Device kennt reopen.
- Der Code oben ist etwas schräg, aber der funktioniert auch ohne reopen - warum weiß ich auch wieder nicht... :)
- ... wenn man ein sed -i auf $currlogfile anwendet, wird danach nicht mehr weiter ins Log geschrieben.
Zitat von: Otto123 am 07 Dezember 2025, 17:48:36das Device Logfile kennt leider kein reopen
Habe ich irgendwo etwas vom device "Logfile" geschrieben?
Zitat von: Otto123 am 07 Dezember 2025, 17:48:36warum weiß ich nicht. Jedes andere FileLog Device kennt reopen
Weil "Logfile" kein reguläres devices vom Type FileLog ist.
Rudi hat das in der Vergangenheit schon mehrfach im Forum erklärt.
ZitatLang:
Logfile ist als passiver Eintrag gedacht, es sollte nur das Code-Doppeln fuer die FHEM-Log Anzeige in FHEMWEB vermeiden.
Aus diesem Grund sind auch viele FileLog Attribute nicht erwünscht.
ja ich weiß es ja eigentlich :)
Ich hatte Deinen Beitrag als Antwort auf meine Codezeile verstanden, in der geht es ja um $currlogfile (Logfile/FHEM-Log)
Aber genau da ist der Punkt: für das FHEM-Log - wenn man das extern manipuliert - hat man kein reopen - oder sehe ich es nur nicht?
Es kann aber auch sein, ich habe das alles hier falsch verstanden. Ich dachte nur, weil es um Fehlermeldungen geht, muss es doch hier um das Logfile (FHEM-Log) gehen?