eigene Log-Dateien schreiben
-
- Beiträge: 2
- Registriert: 12. Jan 2019 11:44
eigene Log-Dateien schreiben
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
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
- udo1toni
- Beiträge: 15249
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: eigene Log-Dateien schreiben
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.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
- sihui
- Beiträge: 1827
- Registriert: 11. Apr 2018 19:03
Re: eigene Log-Dateien schreiben
Ein Ansatz wäre vielleicht auch das LogReader Binding:
https://www.openhab.org/addons/bindings/logreader/
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.
- udo1toni
- Beiträge: 15249
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: eigene Log-Dateien schreiben
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.
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.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
-
- Beiträge: 117
- Registriert: 16. Nov 2018 08:21
Re: eigene Log-Dateien schreiben
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
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
- sihui
- Beiträge: 1827
- Registriert: 11. Apr 2018 19:03
Re: eigene Log-Dateien schreiben
Eine separate Logdatei, in der ich logInfo Aufrufe speichere, erzeuge ich mit folgenden Änderungen in der /userdata/etc/org.ops4j.pax.logging.cfg:
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:
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
In die rule Datei kommt dann:
Code: Alles auswählen
logInfo("EXTRA","Gewünschter Text")
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.
-
- Beiträge: 117
- Registriert: 16. Nov 2018 08:21
Re: eigene Log-Dateien schreiben
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
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
- sihui
- Beiträge: 1827
- Registriert: 11. Apr 2018 19:03
Re: eigene Log-Dateien schreiben
Das kommt darauf an wie du openHAB installiert hast:
https://www.openhab.org/docs/installati ... -locations
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.
-
- Beiträge: 117
- Registriert: 16. Nov 2018 08:21
Re: eigene Log-Dateien schreiben
Danke, werde ich Testen komme aber erst später in der Woche dazu …
Werde dann weitere Erfolge melden
Caddy
Werde dann weitere Erfolge melden

Caddy
-
- Beiträge: 2
- Registriert: 12. Jan 2019 11:44
Re: eigene Log-Dateien schreiben
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
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