-
Platform: Raspberry Pi 3 Model B Rev 1.2
- openHABian configuration [master]v1.4.1-411(ecf59c4)
- OS: Raspbian GNU/Linux 9 (stretch)
- [08:15:23] openhabian@openHABianPi:~$ java -version
- openjdk version “1.8.0_152”
- OpenJDK Runtime Environment (Zulu Embedded 8.25.0.76-linux-aarch32hf) (build 1.8.0_152-b76)
- OpenJDK Client VM (Zulu Embedded 8.25.0.76-linux-aarch32hf) (build 25.152-b76, mixed mode, Evaluation)
- openHAB 2.3.0-1 (Release Build)
############################################################
I’m trying to setup logging into seperate files.
What worked so far:
- When I set:
log4j2.logger.weatherunderground.level = DEBUG
then I get debug information in my own file weatherunderground.log as it should be.
- I can create my own log entries in rules.
What does not work is to get my own log entries showing up in different log-files.
For example the sonos log entries should appear in Sonos.log and Rollladen log entries should appear in Rollladen.log.
My setup:
For testing I created different rule-files.
Every rule-file contains a similar rule that sends a log info when system is started.
For example the content of Sonos.rules looks like this:
rule "rSonos_SystemStarted"
when
System started
then
logInfo("Sonos","***************** System started! Sonos-Logging activ.")
end
or Rollladen.rules looks like this:
rule "rRollladen_SystemStarted"
when
System started
then
logInfo("Rollladen","***************** System started! Rollladen-Logging activ.")
end
As told before the problem is: When system starts, all log information is sent to the same log file instead of the log file it belongs to. All of my other own log files are empty!
Content of astro.log is:
22-Jul-2018 10:44:52.079 [INFO ] [org.eclipse.smarthome.model.script.Sonos ] - ***************** System started! Sonos-Logging is activ.
22-Jul-2018 10:44:52.104 [INFO ] [org.eclipse.smarthome.model.script.Rollladen ] - ***************** System started! Rollladen-Logging activ.
22-Jul-2018 10:44:52.090 [INFO ] [org.eclipse.smarthome.model.script.astro ] - ***************** System started! Astro-Logging activ.
22-Jul-2018 10:44:52.135 [INFO ] [org.eclipse.smarthome.model.script.ZWave ] - ***************** System started! ZWave-Logging activ.
22-Jul-2018 10:44:52.139 [INFO ] [.eclipse.smarthome.model.script.weatherunderground] - ***************** System started! Weatherunderground-Logging activ
I guess I made a mistake in the configuration file org.ops4j.pax.logging.cfg.
Probably (for example) log4j2.logger.Sonos.name = org.eclipse.smarthome.model.script
is wrong, but I don’t know how to fix it and couldn’t find a solution: (@Dim: I read your post , that helped a little, so maybe you can help again.)
Here is what I have appended to org.ops4j.pax.logging.cfg:
### Custom Loggers ###
# MyLogger - astro.log
log4j2.logger.astro.name = org.eclipse.smarthome.model.script
log4j2.logger.astro.level = INFO
log4j2.logger.astro.additivity = false
log4j2.logger.astro.appenderRefs = astro
log4j2.logger.astro.appenderRef.astro.ref = astro
# MyLogger - Rollladen.log
log4j2.logger.Rollladen.name = org.eclipse.smarthome.model.script
log4j2.logger.Rollladen.level = INFO
log4j2.logger.Rollladen.additivity = false
log4j2.logger.Rollladen.appenderRefs = Rollladen
log4j2.logger.Rollladen.appenderRef.Rollladen.ref = Rollladen
# MyLogger - Sonos.log
log4j2.logger.Sonos.name = org.eclipse.smarthome.binding.sonos
log4j2.logger.Sonos.level = INFO
log4j2.logger.Sonos.additivity = false
log4j2.logger.Sonos.appenderRefs = Sonos
log4j2.logger.Sonos.appenderRef.Sonos.ref = SONOS
# MyLogger - weatherunderground
log4j2.logger.weatherunderground.name = org.eclipse.smarthome.binding.weatherunderground
log4j2.logger.weatherunderground.level = INFO
log4j2.logger.weatherunderground.additivity = false
log4j2.logger.weatherunderground.appenderRefs = weatherunderground
log4j2.logger.weatherunderground.appenderRef.weatherunderground.ref = WEATHERUNDERGROUND
# MyLogger - ZWave.log
log4j2.logger.ZWave.name = org.eclipse.smarthome.model.script
log4j2.logger.ZWave.level = INFO
log4j2.logger.ZWave.additivity = false
log4j2.logger.ZWave.appenderRefs = ZWave
log4j2.logger.ZWave.appenderRef.ZWave.ref = ZWave
### Custom Appenders ###
# My File appender - astro.log
log4j2.appender.astro.name = astro
log4j2.appender.astro.type = RollingRandomAccessFile
log4j2.appender.astro.fileName = /var/log/openhab2/astro.log
log4j2.appender.astro.filePattern = /var/log/openhab2/astro.log.%i
log4j2.appender.astro.immediateFlush = true
log4j2.appender.astro.append = true
log4j2.appender.astro.layout.type = PatternLayout
log4j2.appender.astro.layout.pattern = %d{dd-MMM-yyyy HH:mm:ss.SSS} [%-5.5p] [%-50.50c] - %m%n
log4j2.appender.astro.policies.type = Policies
log4j2.appender.astro.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.astro.policies.size.size = 10MB
log4j2.appender.astro.strategy.type = DefaultRolloverStrategy
log4j2.appender.astro.strategy.max = 10
# My File appender - Rollladen.log
log4j2.appender.Rollladen.name = Rollladen
log4j2.appender.Rollladen.type = RollingRandomAccessFile
log4j2.appender.Rollladen.fileName = /var/log/openhab2/Rollladen.log
log4j2.appender.Rollladen.filePattern = /var/log/openhab2/Rollladen.log.%i
log4j2.appender.Rollladen.immediateFlush = true
log4j2.appender.Rollladen.append = true
log4j2.appender.Rollladen.layout.type = PatternLayout
log4j2.appender.Rollladen.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} [%-5.5p] [%-36.36c] - %m%n
log4j2.appender.Rollladen.policies.type = Policies
log4j2.appender.Rollladen.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.Rollladen.policies.size.size = 10MB
log4j2.appender.Rollladen.strategy.type = DefaultRolloverStrategy
log4j2.appender.Rollladen.strategy.max = 10
# My File appender - Sonos.log
log4j2.appender.Sonos.name = SONOS
log4j2.appender.Sonos.type = RollingRandomAccessFile
log4j2.appender.Sonos.fileName = /var/log/openhab2/Sonos.log
log4j2.appender.Sonos.filePattern = /var/log/openhab2/Sonos.log.%i
log4j2.appender.Sonos.immediateFlush = true
log4j2.appender.Sonos.append = true
log4j2.appender.Sonos.layout.type = PatternLayout
log4j2.appender.Sonos.layout.pattern = %d{dd-MMM-yyyy HH:mm:ss.SSS} [%-5.5p] [%-50.50c] - %m%n
log4j2.appender.Sonos.policies.type = Policies
log4j2.appender.Sonos.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.Sonos.policies.size.size = 10MB
log4j2.appender.Sonos.strategy.type = DefaultRolloverStrategy
log4j2.appender.Sonos.strategy.max = 10
# weatherunderground
log4j2.appender.weatherunderground.name = WEATHERUNDERGROUND
log4j2.appender.weatherunderground.type = RollingRandomAccessFile
log4j2.appender.weatherunderground.fileName = /var/log/openhab2/weatherunderground.log
log4j2.appender.weatherunderground.filePattern = /var/log/openhab2/weatherunderground.log.%i
log4j2.appender.weatherunderground.immediateFlush = true
log4j2.appender.weatherunderground.append = true
log4j2.appender.weatherunderground.layout.type = PatternLayout
log4j2.appender.weatherunderground.layout.pattern = %d{dd-MMM-yyyy HH:mm:ss.SSS} [%-5.5p] [%-50.50c] - %m%n
log4j2.appender.weatherunderground.policies.type = Policies
log4j2.appender.weatherunderground.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.weatherunderground.policies.size.size = 10MB
log4j2.appender.weatherunderground.strategy.type = DefaultRolloverStrategy
log4j2.appender.weatherunderground.strategy.max = 10
# My File appender - ZWave.log
log4j2.appender.ZWave.name = ZWave
log4j2.appender.ZWave.type = RollingRandomAccessFile
log4j2.appender.ZWave.fileName = /var/log/openhab2/ZWave.log
log4j2.appender.ZWave.filePattern = /var/log/openhab2/ZWave.log.%i
log4j2.appender.ZWave.immediateFlush = true
log4j2.appender.ZWave.append = true
log4j2.appender.ZWave.layout.type = PatternLayout
log4j2.appender.ZWave.layout.pattern = %d{dd-MMM-yyyy HH:mm:ss.SSS} [%-5.5p] [%-50.50c] - %m%n
log4j2.appender.ZWave.policies.type = Policies
log4j2.appender.ZWave.policies.size.type = SizeBasedTriggeringPolicy
log4j2.appender.ZWave.policies.size.size = 10MB
log4j2.appender.ZWave.strategy.type = DefaultRolloverStrategy
log4j2.appender.ZWave.strategy.max = 10