eigene Log-Dateien schreiben

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: eigene Log-Dateien schreiben

Beitrag von udo1toni »

Es gibt verschiedene Fallen. Wenn Du grundsätzlich verstanden hast, wie die Persistence funktioniert, sind schon mal die meisten Probleme erledigt.
Eine ganz typische Fehlermöglichkeit ist, dass es zwei verschiedene Persistence Services gibt, mit denen man MySQL oder MariaDB nutzen kann.
Das führt dann dazu dass jemand die jdbc Persistence installiert, aber versucht, mit einer mysql.cfg und einer mysql.persist zu konfigurieren, die Persistence heißt aber jdbc und entsprechend muss die Konfiguration in jdbc.cfg und jdbc.persist erledigt werden. Die andere Persistence ist die mysql Persistence, die tatsächlich mit den erstgenannten Dateien konfiguriert wird.
Wenn Du Dich mit MySQL auskennst, weißt Du ja, dass die Datenbank Engine default nur auf localhost und socks hört, Zugriff über IP muss also erst auf MySQL-Seite konfiguriert werden. Soweit ich mitbekommen habe, ist die Persistence nicht uneingeschränkt mit jeder Version von MySQL lauffähig. Ich setze MariaDB ein, debian stretch, die genaue Version ist 10.1.37-MariaDB-0+deb9u1, die funktioniert bei mit problemlos mit der jdbc Persistence.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Caddy
Beiträge: 117
Registriert: 16. Nov 2018 08:21
Answers: 0

Re: eigene Log-Dateien schreiben

Beitrag von Caddy »

sihui hat geschrieben: 13. Jan 2019 12:26 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:

Code: Alles auswählen

logInfo("EXTRA","Gewünschter Text")
Kannst Du mir ein Beispiel geben wie ich auf eine Samba Freigabe mit User und PW zugreifen kann damit ich dort speichern kann ?
Ich habe auf meiner Synology ein Verzeichnis wo ich mit \\synology\openhabdaten\ drauf zu greifen kann Ich muss dann einen User und ein PW übergeben damit ich lesen und schreiben kann.

Danke Caddy

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: eigene Log-Dateien schreiben

Beitrag von sihui »

Caddy hat geschrieben: 21. Jan 2019 17:11 Kannst Du mir ein Beispiel geben wie ich auf eine Samba Freigabe mit User und PW zugreifen kann damit ich dort speichern kann ?
Das Schreiben der Logdatei erledigt doch openHAB für dich.
Oder meinst du das Editieren der org.ops4j.pax.logging.cfg?

Bei der Synology Installation kenne ich mich nicht aus, generelle Hinweise findest du aber in der Doku:

https://www.openhab.org/docs/installati ... iskstation
https://www.openhab.org/docs/installati ... rk-sharing

Ich greife auf mein Sambashare mit dem User und Passwort des Raspberry zu. Ich würde also mal vermuten: so wie du dich auf deiner Synology einloggst solltest du dich auch auf dem Sambashare einloggen können (falls alles korrekt konfiguriert ist).
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

W'taler
Beiträge: 2
Registriert: 26. Feb 2020 15:11
Answers: 0

Re: eigene Log-Dateien schreiben

Beitrag von W'taler »

Hallo Zusammen,
auch wenn das Thema schon etwas älter ist, greife ich es noch mal auf. Ich bin noch ziemlich neu in openHab und tue mich daher an vielen Stellen noch recht schwer.
Dank des Beispiels von sihui habe ich es schon geschafft, eine eigene Log Datei anzulegen. Ziel ist im Moment nur, meine selbst erstellten Regel etwas einfacher im Auge halten zu können. Ich habe drei Regeln und wollte die Daten aus jeder Regel in eine separate LOG Dateien schreiben. Das gelingt mir aber nicht. Die Infos aus allen drei Regeln in die gleich Datei schreiben funktioniert.
Frage: Kann man "nur" eine eigene LOG Datei anlegen?

Gruß aus Wuppertal,
Karsten

Benutzeravatar
udo1toni
Beiträge: 15248
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: eigene Log-Dateien schreiben

Beitrag von udo1toni »

Du musst halt eigene Logger für die Rules verwenden. Anschließend musst Du eigene Konfigurationen für diese Logger anlegen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

W'taler
Beiträge: 2
Registriert: 26. Feb 2020 15:11
Answers: 0

Re: eigene Log-Dateien schreiben

Beitrag von W'taler »

Hallo, danke für die Rückmeldung.
Ja das habe ich gemacht. Wie oben von sihui beschrieben habe ich drei "logger" mit unterschiedlichen Namen und die entsprechenden drei "Appender" mit den entsprechenden Namen angelegt.
Mache ich das nur ein Mal und lasse alle Regeln in die eine LOG Datei schreiben, geht es. Mache ich es für jede Regel Separat geht es nicht.
Aber die Info, das es theoretisch klappen müßte, reicht mir ja schon, dann suche ich mal weiter ;-)

Karsten

Antworten