FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Prof. Dr. Peter Henning am 25 Februar 2014, 08:33:51

Titel: Wechsel des Dateinamens in FileLog
Beitrag von: Prof. Dr. Peter Henning am 25 Februar 2014, 08:33:51
Guten Morgen,

seit einiger Zeit beobachte ich, dass das FileLog-Modul mit der folgenden Definition:


define SolarLogM FileLog /home/fhem/fhemlogs/solarM_%Y-%m-%d.log nt5000:(W_D).*
attr SolarLogM archivedir /home/fhem/fhemarchive
attr SolarLogM nrarchive 3
attr SolarLogM room Logs


unerwartetes Verhalten zeigt. Die Definition des Dateinamens sollte eigentlich dafür sorgen, dass an jedem Tag ein neues Logfile begonnen wird.

Das ist aber nicht der Fall: Vielmehr wird in ca. 50% (tatsächlicher Anteil schwankt) der Fälle das ALTE Logfile weiter geschrieben - so auch heute: Wir haben den 25.2., aber der currentfilename bleibt auf solarM_2014-02-24 stehen, siehe  Screenshot.

Ein Muster ist darin bisher nicht zu entdecken.

LG

pah
Titel: Antw:Wechsel des Dateinamens in FileLog
Beitrag von: rudolfkoenig am 25 Februar 2014, 08:42:45
FileLog prueft bei jedem Logging-Aufruf ob Dateiname sich geaendert hat. An diesem Mechanismus hat sich seit Jahren(?) nichts geaendert, ich vermute also Aenderungen ausserhalb von FileLog.

Worauf zeigt $defs{SolarLogM}{currentlogfile} ?
(Sorry, hat sich mit dem Blick auf Screenshot erledigt).
Titel: Antw:Wechsel des Dateinamens in FileLog
Beitrag von: rudolfkoenig am 25 Februar 2014, 08:50:42
Wenn ich meinen eigenen Code noch verstete, kann das nur passieren, falls die lokale Zeit nicht genau ist, oder strftime nicht mehr funktioniert.
Titel: Antw:Wechsel des Dateinamens in FileLog
Beitrag von: Prof. Dr. Peter Henning am 25 Februar 2014, 08:58:07
Äh - nö. Beides ist ok auf dem RPi.

Im Augenblick des Screenshot hat allerdings noch kein Event stattgefunden, der vom FileLog abgefangen würde.
Auch wenn ich ein set SolarLogM reopen absetze, ändert sich der Dateiname nicht.

Könnte man das nicht so umbauen, dass eine Änderung des Dateinamens (wenn durch die Namensdefinition vorgesehen) auch bei einem set .. reopen erfolgt ? Das würde mein Problem schon beseitigen.

LG

pah
Titel: Antw:Wechsel des Dateinamens in FileLog
Beitrag von: rudolfkoenig am 25 Februar 2014, 09:53:44
Doch, koennte man. Aber welches Problem?
Titel: Antw:Wechsel des Dateinamens in FileLog
Beitrag von: betateilchen am 25 Februar 2014, 10:06:15
hat pah doch eigentlich sehr spezifisch erklärt:

Das Problem ist, dass der Namenswechsel nach einem Tageswechsel bisher erst nach dem ersten zu loggenden Event stattfindet, und das kann auch weit nach Mitternacht sein. Würde der Namenswechsel bereits bei einem reopen stattfinden, könnte man einfach ein periodisches at definieren, das um 00:00:01 ein reopen durchführt und hätte damit bereits 1 Sekunde nach Mitternacht ein neues Logfile mit dem "richtigen" Namen.

So habe ich das Anliegen zumindest verstanden :)
Titel: Antw:Wechsel des Dateinamens in FileLog
Beitrag von: rudolfkoenig am 25 Februar 2014, 11:20:29
DAS habe ich kapiert. Nur nicht, wieso es es Probem ist.
Titel: Antw:Wechsel des Dateinamens in FileLog
Beitrag von: hexenmeister am 25 Februar 2014, 11:23:54
Zitatwieso es es Probem ist.
*glaskugelguck* ein externer Zugriff auf die Logs? ???
Titel: Antw:Wechsel des Dateinamens in FileLog
Beitrag von: betateilchen am 25 Februar 2014, 11:42:33
zum Beispiel  8)

Das Dateinamenproblem von FileLog war für mich einer der entscheidenden Gründe, das Logging auf DbLog umzustellen.

Letztendlich geht es ganz einfach darum, den Dateinamenswechsel zu einem genau spezifizierten Zeitpunkt "erzwingen" zu können, egal ob es gerade was zu Loggen gibt oder nicht. Damit ist anhand des Zeitpunktes der zu verwendende Dateiname festgelegt und nicht nur "vielleicht schon vorhanden".
Titel: Antw:Wechsel des Dateinamens in FileLog
Beitrag von: rudolfkoenig am 25 Februar 2014, 12:39:14
Habs in reopen wie vorgeschlagen eingebaut und eingecheckt.
Titel: Antw:Wechsel des Dateinamens in FileLog
Beitrag von: Prof. Dr. Peter Henning am 26 Februar 2014, 05:33:50
Sorry, dass ich jetzt erst anworte - habe aber auch noch andere Dinge zu tun.

DIe "Glaskugel" war genau der richtige Hinweis. Denn ich frage beim morgendlichen Start meiner PV-Anlage den Lognamen ab und schreibe dann direkt etwas dort hinein.

Dnake für das Aufgreifen des reopen-Vorschlags.

LG

pah