FHEM Forum

FHEM => Sonstiges => Thema gestartet von: automatisierer am 29 Januar 2017, 09:42:09

Titel: [gelöst] Filelog linesInThrFile zählt nicht mit.
Beitrag von: automatisierer am 29 Januar 2017, 09:42:09
Hallo,
ich möchte mir gern, falls mein Logfile innerhalb einer bestimmten Zeit mehr als XY Zeilen dazu bekommt, eine Nachricht schicken lassen.

In meiner global Logfile Definition, wird dieses Reading allerdings nicht aktualisiert. Es bleibt immer auf 0. In allen anderen FileLog Definitionen funktioniert es.

list Logfile
Internals:
   DEF        ./log/fhem-%Y-%m-%d.log fakelog
   NAME       Logfile
   NR         76
   NTFY_ORDER 50-Logfile
   REGEXP     fakelog
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/fhem-2017-01-29.log
   logfile    ./log/fhem-%Y-%m-%d.log
   Readings:
     2017-01-29 00:00:01   linesInTheFile  0
Attributes:
   nrarchive  20
   room       __LOG
   verbose    3


obwohl reichlich Einträge vorhanden sind.

Gruß
Ingo
Titel: Antw:Filelog linesInThrFile zählt nicht mit.
Beitrag von: rudolfkoenig am 29 Januar 2017, 11:24:36
Der Logfile eintrag in der Menu ist ein "Fakelog": es nuetzt die Frontend-Funktionalitaet des FileLog Moduls, um Daten aus dem FHEM-Log (die mit ganz anderen Mitteln geschrieben werden) in FHEMWEB anzuzeigen. Diese Logfile genannte FileLog Instanz schreibt die Datei nicht, deswegen ist dieses Attribut auch wirkungslos.

Ein Workaround kenne ich nicht.
Titel: Antw:Filelog linesInThrFile zählt nicht mit.
Beitrag von: automatisierer am 30 Januar 2017, 06:46:49
Ok, das leuchtet ein.

Hier mein Workaround:


defmod linesInTheFileDoif DOIF ([+00:20:05]) (setreading Logfile linesInTheFileOld [Logfile:linesInTheFile]) (setreading Logfile linesInTheFile {(split(' ',qx (wc -l [Logfile:&currentlogfile])))[0]})
attr linesInTheFileDoif do always


Damit schreibe ich alle 20 Minuten die aktuelle Zeilenanzahl in das Reading und die alte Zeilenanzahl als Vergleichswert in ein anderes Reading.
Ziel ist es mit zu bekommen, wenn bei FHEM was nicht rund läuft und massenweise Logeinträge erstellt werden. Die Readings werte ich mit einem weiteren DOIF aus.

Gruß
Ingo