wborn
(Wouter Born)
October 5, 2021, 11:12am
1
This add-on makes extra packages available to Pax Logging so that they can be used for logging. For instance it makes it possible to use several additional layouts with the appenders configured in log4j2.xml
:
See also:
opened 01:05PM - 01 Mar 20 UTC
Hello,
I am trying t configure log4j2 loging with appender layout == JSONLayout… .
`log4j2.appender.json.layout.type = JSONLayout`
However I am getting error:
```
Mar 01 00:42:56 pi systemd[1]: Started openHAB 2 - empowering the smart home.
Mar 01 00:43:03 pi karaf[17540]: org.ops4j.pax.logging.pax-logging-api [log4j2] ERROR : Log4J2 configuration problem: com/fasterxml/jackson/databind/ser/FilterProvider Ignored FQCN: org.apache.logging.log4j.spi.AbstractLogger
Mar 01 00:43:03 pi karaf[17540]: java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ser/FilterProvider
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.layout.JsonLayout.<init>(JsonLayout.java:158)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.layout.JsonLayout.<init>(JsonLayout.java:69)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.layout.JsonLayout$Builder.build(JsonLayout.java:102)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.layout.JsonLayout$Builder.build(JsonLayout.java:77)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:122)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1002)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:942)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:934)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:552)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:241)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:288)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:579)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:285)
Mar 01 00:43:03 pi karaf[17540]: at org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl.configureLog4J2(PaxLoggingServiceImpl.java:409)
Mar 01 00:43:03 pi karaf[17540]: at org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:272)
Mar 01 00:43:03 pi karaf[17540]: at org.ops4j.pax.logging.log4j2.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:569)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1118)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1074)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:138)
Mar 01 00:43:03 pi karaf[17540]: at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:105)
Mar 01 00:43:03 pi karaf[17540]: at java.lang.Thread.run(Thread.java:748)
Mar 01 00:43:03 pi karaf[17540]: Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ser.FilterProvider cannot be found by org.ops4j.pax.logging.pax-logging-log4j2_1.11.2
Mar 01 00:43:03 pi karaf[17540]: at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:484)
Mar 01 00:43:03 pi karaf[17540]: at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
Mar 01 00:43:03 pi karaf[17540]: at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
Mar 01 00:43:03 pi karaf[17540]: at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
Mar 01 00:43:03 pi karaf[17540]: at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
Mar 01 00:43:03 pi karaf[17540]: ... 25 more
```
It seems like Jackson library is not loaded.
I have tried manualy install Jackson bundles:
```
bundle:install -l 5 mvn:com.fasterxml.jackson.core/jackson-core/2.10.2
bundle:install -l 5 mvn:com.fasterxml.jackson.core/jackson-annotations/2.10.2
bundle:install -l 5 mvn:com.fasterxml.jackson.core/jackson-databind/2.10.2
```
And add Jackson to `/var/lib/openhab2/etc/startup.properties` to make sure that these bundles are loaded before Log4J2.
```
mvn\:com.fasterxml.jackson.core/jackson-core/2.10.2 = 5
mvn\:com.fasterxml.jackson.core/jackson-annotations/2.10.2 = 5
mvn\:com.fasterxml.jackson.core/jackson-databind/2.10.2 = 5
```
But I am still getting the same error.
I am running OpenHab 2.5.2-1.
[org.ops4j.pax.logging.cfg.txt](https://github.com/openhab/openhab-core/files/4271782/org.ops4j.pax.logging.cfg.txt)
Am I missing something?
https://community.openhab.org/t/logging-to-json-maybe-missing-dependency/93838
Changelog
Version 3.2.0-SNAPSHOT
Resources
2 Likes