Seite 1 von 2
eigene Log-Dateien schreiben
Verfasst: 12. Jan 2019 12:05
von Dormin
Hallo,
ich möchte in einer Rule eine eigene Logdatei erstellen (Oder Text-Datei) erstellen, um bei bestimmten Events gezielt Daten wegzuschreiben. In die vorhandenen Log-Dateien schreibe ich diese Infos auch schon weg, das ist mir aber nicht übersichtlich genug und lässt sich schwerer auswerten.
Ich habe nun noch keine Möglichkeit gefunden, eine solche Datei (vielleicht sogar mithilfe die OpenHAB-Log-Techniken) zu schreiben.
Habt ihr sowas schon mal gemacht, oder eine Idee, wie man sowas am geschicktesten angeht?
VG
Heiner
Re: eigene Log-Dateien schreiben
Verfasst: 12. Jan 2019 18:11
von udo1toni
Dazu musst Du in der Logger Konfig einen eigenen Logger anlegen. Ich bin mir nicht sicher, ob Du hier fündig wirst, aber über Google und die Stichworte openHAB und log4j2 solltest Du fündig werden.
Re: eigene Log-Dateien schreiben
Verfasst: 12. Jan 2019 18:16
von sihui
Dormin hat geschrieben: ↑12. Jan 2019 12:05
Habt ihr sowas schon mal gemacht, oder eine Idee, wie man sowas am geschicktesten angeht?
Ein Ansatz wäre vielleicht auch das LogReader Binding:
https://www.openhab.org/addons/bindings/logreader/
Re: eigene Log-Dateien schreiben
Verfasst: 12. Jan 2019 19:47
von udo1toni
So wie ich dieses Binding verstanden habe stellt es nur-Lese-Zugriff her.
Es gab auch mal die Log-Persistence, aber die dürfte mit OH2 nicht mehr funktionieren, spätestens, seit das Logging auf log4j2 umgestellt wurde, da dieses Addon nicht mehr angepasst wurde.
Re: eigene Log-Dateien schreiben
Verfasst: 13. Jan 2019 12:16
von Caddy
Ich glaube er will, was auch bei mir auf der Agenda steht.
Wenn Ereignisse kommen will ich diese in eine Logdatei wegschreiben um später sagen zu können das ist dann und dann passiert.
Diese Logdatei soll unabhängig vom OH sein.
Hier meine Idee / Vermutung
Ich vermute, dieses geht über die Anbindung an MySQL.
Wenn man Persist angelegt hat wird für jedes Item alle Werte gespeichert.
Das bedeutet in meinen Augen, wenn ich ein Item anlege und diesem Item Daten übergebe sprich alles was ich loggen will könnte es sein, das die Datenbank dieses speichert.
Diese Daten könnte ich dann wie auch immer mit einer webseite Skript o.ä. auslesen
Was meint Ihr ?
Caddy
Re: eigene Log-Dateien schreiben
Verfasst: 13. Jan 2019 12:26
von sihui
Eine separate Logdatei, in der ich logInfo Aufrufe speichere, erzeuge ich mit folgenden Änderungen in der /userdata/etc/org.ops4j.pax.logging.cfg:
Code: Alles auswählen
### Custom Loggers ###
# EXTRA
log4j2.logger.rules.name = org.eclipse.smarthome.model.script.EXTRA
log4j2.logger.rules.level = INFO
log4j2.logger.rules.additivity = false
log4j2.logger.rules.appenderRefs = Extra
log4j2.logger.rules.appenderRef.Extra.ref = EXTRA
### Custom Appenders ###
# EXTRA
log4j2.appender.Extra.name = EXTRA
log4j2.appender.Extra.type = RollingRandomAccessFile
log4j2.appender.Extra.fileName = /media/oh_logs/extra.log
log4j2.appender.Extra.filePattern = /media/oh_logs/extra.log.%i
log4j2.appender.Extra.immediateFlush = true
log4j2.appender.Extra.append = true
log4j2.appender.Extra.layout.type = PatternLayout
log4j2.appender.Extra.layout.pattern = %d{dd-MMM-yyyy HH:mm:ss.SSS} [%-5.5p] [%-50.50c] - %m%n
log4j2.appender.Extra.policies.type = Policies
log4j2.appender.Extra.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.Extra.policies.size.size = 10MB
log4j2.appender.Extra.strategy.type = DefaultRolloverStrategy
log4j2.appender.Extra.strategy.max = 10
Achtung, die Pfade müssen an die eigene Installation angepasst werden! Bei mir werden die Logs auf einem separaten USB Stick geschrieben.
In die rule Datei kommt dann:
Re: eigene Log-Dateien schreiben
Verfasst: 13. Jan 2019 13:36
von Caddy
Hallo Sihui,
danke für den Tipp, kannst du mir als nicht Linuxer sagen wo userdata liegt ?
wenn ich per SSH drauf gehe sehe ich kein userdata
Danke Caddy
Re: eigene Log-Dateien schreiben
Verfasst: 13. Jan 2019 16:54
von sihui
Caddy hat geschrieben: ↑13. Jan 2019 13:36
kannst du mir als nicht Linuxer sagen wo userdata liegt ?
Das kommt darauf an wie du openHAB installiert hast:
https://www.openhab.org/docs/installati ... -locations
Re: eigene Log-Dateien schreiben
Verfasst: 14. Jan 2019 08:34
von Caddy
Danke, werde ich Testen komme aber erst später in der Woche dazu …
Werde dann weitere Erfolge melden
Caddy
Re: eigene Log-Dateien schreiben
Verfasst: 20. Jan 2019 10:30
von Dormin
Hallo, Danke euch allen für die Antworten!
Die Ansätze log4j2, MySQL Persist sowie das Beispiel von sihui sehen mir vielversprechend aus. Als Anfänger auf dem Gebiet hoffe ich, dass ich einen dieser Wege zum Ziel bringe.
@Caddy: Genau dass ist es was ich will: Ereignisse auflisten, die nicht von weiteren Logs unterbrochen werden und damit schneller lesbar und auswertbar sind.
Den Ansatz mit MySQL, also mit einem passenden Item und dem Persist finde ich persönlich am besten (in der Theorie), da ich mit Datenbanken vertraut bin. Da fühle ich mich einigermaßen wohl. Allerdings ist es mir beim Aufsetzen von OpenHAB damals nicht gelungen, das MySQL Persist zum Laufen zu bringen, und ich bin dann auf (den Standard?) rrd4j umgestiegen. Mit MySQL habe ich keine Charts hinbekommen. Aber da gehe ich dann nochmal gründlicher hinterher.
Gibt es bei MySQL vielleicht typische Stolperfallen, in die ich auch reingelaufen sein könnte? Irgendwas besonders erwähnenswertes?
VG