Logfile: Problem mit narchive

Begonnen von Gisbert, 07 März 2020, 08:26:58

Vorheriges Thema - Nächstes Thema

Gisbert

Hallo Rudi,

im Modul Logfile habe ich das Attribut narchive auf 3 gesetzt. Damit bekam ich immer die letzten 3 Tages-Logfiles angezeigt, jetzt sind es mittlerweile aber schon 9. Ich denke, ich bekomme die überflüssigen files händisch gelöscht, aber das ist dann vermutlich nicht im Sinne des Erfinders. Wissentlich habe ich hier keine Änderung vorgenommen.

Kannst du drüberschauen?

raw-Definition:
defmod Logfile FileLog ./log/fhem-%Y-%j.log fakelog
attr Logfile nrarchive 3


list: Internals:
   DEF        ./log/fhem-%Y-%j.log fakelog
   FD         10
   FUUID      5c8d3f36-f33f-e986-9478-9fb08a45f2176054
   NAME       Logfile
   NR         25
   NTFY_ORDER 50-Logfile
   REGEXP     fakelog
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/fhem-2020-062.log
   logfile    ./log/fhem-%Y-%j.log
   READINGS:
     2020-03-02 00:00:01   linesInTheFile  0
   helper:
     bm:
       FileLog_Attr:
         cnt        1
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        02.03. 11:58:48
         max        3.91006469726562e-05
         tot        3.91006469726562e-05
         mAr:
           set
           Logfile
           nrarchive
           3
       FileLog_Define:
         cnt        1
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        02.03. 11:58:48
         max        0.00381898880004883
         tot        0.00381898880004883
         mAr:
           HASH(0x55c5933220c0)
           Logfile FileLog ./log/fhem-%Y-%j.log fakelog
       FileLog_Get:
         cnt        2
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        07.03. 08:10:13
         max        4.60147857666016e-05
         tot        7.91549682617188e-05
         mAr:
           HASH(0x55c5933220c0)
           Logfile
           ?
       FileLog_Log:
         cnt        679066
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        02.03. 14:11:13
         max        0.0350768566131592
         tot        107.204302549362
         mAr:
           HASH(0x55c5933220c0)
           HASH(0x55c59398b260)
       FileLog_Set:
         cnt        56
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        04.03. 07:55:23
         max        3.50475311279297e-05
         tot        0.0013120174407959
         mAr:
           HASH(0x55c5933220c0)
           Logfile
           ?
Attributes:
   nrarchive  3


Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Otto123

Hallo Gisbert,

für dieses Logfile musst Du es meines Wissens in global setzen.
attr global nrarchive 3

ZitatHinweis: Werden diese Attribute als global instance gesetzt, hat das auschließlich auf das FHEM logfile Auswirkungen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Gisbert

Hallo Otto,

ich habe die folgenden Tages-logfiles:
Zitat
fhem-2020-059.log
fhem-2020-060.log
fhem-2020-061.log
fhem-2020-062.log
fhem-2020-063.log
fhem-2020-064.log
fhem-2020-065.log
fhem-2020-066.log
fhem-2020-067.log
Eigentlich dürften es nur 3 Stück sein, da das Attribute narchive bei dem Device Logile auf 3 steht.

In den einzelnen Tages-logfiles steht als 1. Zeile für gewöhnlich, dass das viertletzte logfile gelöscht wurde. Das ist aber jetzt teilweise anders:
Zitat
fhem-2020-059.log --> kein Eintrag
fhem-2020-060.log --> 2020.02.29 00:00:01 2: Deleting fhem-2020-056.log
fhem-2020-061.log --> 2020.03.01 00:00:01 2: Deleting fhem-2020-057.log
fhem-2020-062.log --> 2020.03.02 00:00:01 2: Deleting fhem-2020-058.log
fhem-2020-063.log --> kein Eintrag
fhem-2020-064.log --> kein Eintrag
fhem-2020-065.log --> kein Eintrag
fhem-2020-066.log --> kein Eintrag
fhem-2020-067.log
Ich schließe daraus:

  • es hat schon mal funktioniert
  • es funktioniert jetzt nicht mehr, ohne dass ich hier auch nur das kleinste Fitzelchen geändert habe - ich schwöre, auf alles was dir und mir heilig im Sinne von FHEM ist
Irgendwie habe ich den Verdacht, dass es mit dem 29. Februar zu tun haben könnte.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

jkriegl

Könnte es am Schaltjahr liegen? (29. Febr.)
Ich nutze: /media/usbdisk/log/fhem-%Y-%m-%d.log fakelog da funktioniert es.
Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Gisbert

#4
Zitat von: jkriegl am 07 März 2020, 12:40:23
Könnte es am Schaltjahr liegen? (29. Febr.)
Ich nutze: /media/usbdisk/log/fhem-%Y-%m-%d.log fakelog da funktioniert es.
Heißt das mit attribute narchive (z.B.) 3 werden ältere log-Dateien gelöscht?
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

jkriegl

ja
und da ich bei diesem log kein archivedir angegeben habe, sind diese weg!
Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Gisbert

Hallo jkriegel,

ich hab zunächst die überflüssigen logfiles gelöscht und schaue mal morgen, ob es sich wieder eingerenkt hat. Wenn nicht, dann stelle ich in global und Logfile auf deine Definition um.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Gisbert

Hallo,

ohne dass ich irgendeine Änderung an meinen Definitionen gemacht habe, lediglich das händische Löschen gestern der überzähligen logfiles, bekomme ich heute als 1. Eintrag im neuen Tages-logfile:
Zitat2020.03.08 00:00:01 2:  Deleting fhem-2020-064.log
Damit dürfte die Vermutung, dass es etwas mit dem Schalttag bzw. -jahr etwas zu tun hat weiter bekräftigt werden.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Nobbynews

#8
Hallo Gisbert,

bei mir lief das problemlos durch. Das Schaltjahr hatte keinen Einfluß.

2020.03.04 00:00:01 2: Deleting fhem-2020-02-28.log
2020.03.05 00:00:01 2: Deleting fhem-2020-02-29.log
2020.03.06 00:00:01 2: Deleting fhem-2020-03-01.log
2020.03.07 00:00:01 2: Deleting fhem-2020-03-02.log


Definiert habe ich:
attr global logfile /Festplatte/FHEM/log/fhem-%Y-%m-%d.log
attr global nrarchive 5


Könnte also ggf. etwas mit Deiner DEF zu tun haben.
Zitat von: Gisbert am 08 März 2020, 09:27:21
Deleting fhem-2020-064.log
Wenn ich mich nicht verzählt habe der  4.3.2020 ?

Vor ein paar Tagen war mir im Log-File allerdings aufgefallen, dass Devicebezogene Log-Files erst mitten am Tag gelöscht wurden. Hintergrund war, dass dann erst wieder ein neuer Log-Eintrag im Device erzeugt wurde und dann das attr des Device gezogen hat.
Das sollte beim System-Log allerdings wg. der Einträge nach Mitternacht auszuschließen sein.

Norbert

Gisbert

Hallo Norbert und jkriegel,

ich werde wie von euch vorgeschlagen auf diese Definition umstellen, das scheint mir die zuverlässigste Methode zu sein, außerdem ist dann das Datum im Filenamen enthalten:
/opt/fhem/log/fhem-%Y-%m-%d.log

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

rudolfkoenig

Logfile ist ein "billiger Trick": so musste ich die FHEMWEB-Anzeige des FHEM-Logs nicht nochmal implementieren.
Dass Logfile+nrarchive die FHEM-Logs loescht, ueberrascht mich einerseits (so war das nicht geplant), andererseits spricht laut Code nichts dagegen, ich habe nach Durchsicht keinen Grund gefunden, warum es bei Dir nicht lief.

Ich empfehle attr global nrarchive zu setzen.

Wenn Du der Ansicht bist, dass wir das Problem mit Logfile loesen sollten (sollte schliesslich funktionieren), dann muesste man in etwa Folgendes machen:
- per fhemdebug timerList pruefen, ob FileLog_dailySwitch registriert ist
- am Anfang der Funktionen FileLog_dailySwitch, FileLog_Switch und HandleArchiving eine Log 1, "<FNNAME>"; Zeile einfuegen, bei den letzten beiden Funktionen mit "<FNNAME> $log" (und FHEM neu starten)
- warten, bis eine Datei _nicht_ geloescht wird, und das FHEM-Log untersuchen.

Gisbert

Zitat von: rudolfkoenig am 08 März 2020, 12:05:49
Logfile ist ein "billiger Trick": so musste ich die FHEMWEB-Anzeige des FHEM-Logs nicht nochmal implementieren.
Dass Logfile+nrarchive die FHEM-Logs loescht, ueberrascht mich einerseits (so war das nicht geplant), andererseits spricht laut Code nichts dagegen, ich habe nach Durchsicht keinen Grund gefunden, warum es bei Dir nicht lief.

Ich empfehle attr global nrarchive zu setzen.

Wenn Du der Ansicht bist, dass wir das Problem mit Logfile loesen sollten (sollte schliesslich funktionieren), dann muesste man in etwa Folgendes machen:
- per fhemdebug timerList pruefen, ob FileLog_dailySwitch registriert ist
- am Anfang der Funktionen FileLog_dailySwitch, FileLog_Switch und HandleArchiving eine Log 1, "<FNNAME>"; Zeile einfuegen, bei den letzten beiden Funktionen mit "<FNNAME> $log" (und FHEM neu starten)
- warten, bis eine Datei _nicht_ geloescht wird, und das FHEM-Log untersuchen.

Hallo Rudi,

attr global nrarchive - setze ich um.

Wenn Du der Ansicht bist, dass wir das Problem mit Logfile loesen sollten - lieber nicht, es sein denn du willst mich in eine Krise stürzen, deine Vorschläge kann ich nur schwerlich umsetzen.

Vieien Dank
Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome