FileLog konfigurierbar ?

Begonnen von mimue, 06 Oktober 2014, 09:45:31

Vorheriges Thema - Nächstes Thema

mimue

Ich starte das mal hier, obwohl FileLog ja eher ein "Backend" ist ;-)

Mir fällt auf, daß FileLog Dateien nach dem Muster

FileLog_Device-%Y-%m-%d_%H:%M:%S.log

anlegt.

In der Datei selber wird dann der Zeitstempel gefolgt von Gerätename Ereignis Wert

2014-09-28_11:33:15 WetterhHelligkeit brightness: 300

abgelegt.

Für einige Anwendungen mag das hilfreich sein, für die Erfassung von Messwerten ist diese Form verbesserungswürdig, da die Redundanzen überwiegen.

Der Gerätename ist ja bereits im Dateinamen enthalten, und muß nicht in jeder Zeile erneut auftauchen. Der Teil des Zeitstempels, der im Dateinamen vorkommt, kann im Logtext auch entfallen. Welches Ereignis aufgezeichnet wird, läßt sich durch die Spaltenposition bestimmen.

Also im obigen Beispiel etwa Dateiname

WetterHelligkeit-2014.log

und

09-28_11:33:15 300

Da ich in der Dokumentation keine Anpassungsmöglichkeit für FileLog gefunden habe, setze ich das reguläre FileLog tot

attr disable 1

und lege ein notify an, das meine Logdatei füllt

define FileLog_WetterHelligkeitW notify WetterHelligkeit:brightness:.* {`echo "\$(date +%Y-%m-%d_%H:%M:%S) $EVTPART1" >> .\/log\/WetterHelligkeit-\$(date +%Y).log`}


Den Zeitstempel habe ich unverändert gelassen, da sonst gplot nicht funktioniert, die ursprüngliche FileLog-Definition habe ich nicht gelöscht, da ich den Zugriff auf gplot und text behalten will.

Schön wäre es, wenn man das direkt in der FileLog-Definition so einrichten könnte. Analoges gilt natürlich auch für dbLog, das ja brav eine relationale Datenbank mit Redundanzen beschäftigt. Mr. Codd läßt grüßen.
Gigabyte Brix, Arch Linux, CUL_MAX, TCM310, HM-Lan, LevelJET, VIERA, Fritz AHA, Fritz RC, FBDECT, NetIO, Alexa, Netatmo Presence

Puschel74

Hallo,

kleiner Einwurf.
Wenn du 2 oder mehr Geräte in EIN Logfile loggen lässt - wie stellst du sicher das die Daten unterscheidbar bleiben?

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

hexenmeister

Der Zeitstempel soll schön ganz bleiben, alles andere macht die Verarbeitung kompliziert und fehlerträchtig. Uns was ist, wenn man die Logs umdefiniert? Oder die Daten zusammenkopieren will? In eine DB migrieren? Fragen über Fragen... Und auf der Haben-Seite? Ein Paar eingesparte Kilobytes... Lohnt nicht.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

rudolfkoenig

@mimue: Man kann (und aus diversen Gruenden sollte man) die von autocreate angelegten FileLogs "mergen", das geht inzwischen auch direkt im FHEMWEB. Noch besser ist es, wenn man die FileLogs nach Themengebiet (Temperaturen, Stromwerte, usw) neu anlegt. Das geht auch mit FHEMWEB/dropdown Hilfe.

mimue

Zitat von: rudolfkoenig am 06 Oktober 2014, 11:02:24
@mimue: Man kann (und aus diversen Gruenden sollte man) die von autocreate angelegten FileLogs "mergen", das geht inzwischen auch direkt im FHEMWEB. Noch besser ist es, wenn man die FileLogs nach Themengebiet (Temperaturen, Stromwerte, usw) neu anlegt. Das geht auch mit FHEMWEB/dropdown Hilfe.

Tut mir leid, das Einzige was ich dazu finde, ist "absorb secondFileLog" in der Befehls-Referenz, das ist aber nicht was ich brauche. Außerdem werden dabei die Redundanzen zwangsläufig noch größer.

Ein Dropdown im FHEMWEB das Hilfe anbietet verweigert sich mir bislang.

mimue
Gigabyte Brix, Arch Linux, CUL_MAX, TCM310, HM-Lan, LevelJET, VIERA, Fritz AHA, Fritz RC, FBDECT, NetIO, Alexa, Netatmo Presence

hexenmeister

ZitatAußerdem werden dabei die Redundanzen zwangsläufig noch größer.

In diesem Fall sind sie durchaus im Sinne der Performance. Was genau für ein Problem möchtest Du durch die Redundanzvermeidung lösen (ich hoffe nicht zum Selbstzweck)?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

mimue

Gigabyte Brix, Arch Linux, CUL_MAX, TCM310, HM-Lan, LevelJET, VIERA, Fritz AHA, Fritz RC, FBDECT, NetIO, Alexa, Netatmo Presence

hexenmeister

#7
Sicher,  aber das trifft hier nicht zu. Wir sprechen von einer Logdatei.
Und auch wenn, muss man immer das Ziel vor Augen haben. Normalisierung wird nicht zum Selbstzweck betrieben.

Gegenfrage: warum in produktiven Einsatz im Enterprisebereich so oft denormalisierte Tabellen anzutreffen sind?
Die Antwort steht sogar in deinem Link...
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy