I'm trying to get JSON format logging enabled in Karaf. Trying to do something similar to what's described in https://ops4j1.jira.com/browse/PAXLOGGING-168
On a fresh copy of Karaf 4.2.5 I've added to /etc/startup.properties: mvn\:com.fasterxml.jackson.core/jackson-core/2.9.5 = 8 mvn\:com.fasterxml.jackson.core/jackson-annotations/2.9.5 = 8 mvn\:com.fasterxml.jackson.core/jackson-databind/2.9.5 = 8 mvn\:ch.qos.logback/logback-classic/1.2.2 = 8 mvn\:ch.qos.logback/logback-core/1.2.2 = 8 mvn\:ch.qos.logback.contrib/logback-json-core/0.1.5 = 8 mvn\:ch.qos.logback.contrib/logback-json-classic/0.1.5 = 8 mvn\:org.ops4j.pax.logging/pax-logging-logback/1.10.1 = 8 The above jars have been added to the system folder. They look like: logback: https://pastebin.com/raw/60Pnu8f1 jackson: https://pastebin.com/raw/NkUqZrGS My etc/org.ops4j.pax.logging.cfg contains the line: org.ops4j.pax.logging.logback.config.file=${karaf.base}/etc/logback.xml The log back is the same one from https://ops4j1.jira.com/browse/PAXLOGGING-168 When I startup Karaf I get the following CNF error related to Jackson. Shouldn't the startup.properties file make those classes available? WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@5c3aaee6 - SizeAndTimeBasedFNATP is deprecated. Use SizeAndTimeBasedRollingPolicy instead WARN in ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP@5c3aaee6 - For more information see http://logback.qos.ch/manual/appenders.html#SizeAndTimeBasedRollingPolicy 00:14:49.839 [CM Configuration Updater (ManagedService Update: pid=[org.ops4j.pax.logging])] ERROR org.apache.felix.configadmin - [org.osgi.service.log.LogService, org.knopflerfish.service.log.LogService, org.ops4j.pax.logging.PaxLoggingService, org.osgi.service.cm.ManagedService, id=15, bundle=13/mvn:org.ops4j.pax.logging/pax-logging-logback/1.10.1]: Unexpected problem updating configuration org.ops4j.pax.logging java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper at ch.qos.logback.contrib.jackson.JacksonJsonFormatter.<init>(JacksonJsonFormatter.java:41) ~[?:?] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?] at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:?] at java.lang.Class.newInstance(Class.java:442) ~[?:?] at ch.qos.logback.core.joran.action.NestedComplexPropertyIA.begin(NestedComplexPropertyIA.java:121) ~[?:?] at ch.qos.logback.core.joran.spi.Interpreter.callBeginAction(Interpreter.java:269) ~[?:?] at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:145) ~[?:?] at ch.qos.logback.core.joran.spi.Interpreter.startElement(Interpreter.java:128) ~[?:?] at ch.qos.logback.core.joran.spi.EventPlayer.play(EventPlayer.java:50) ~[?:?] at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:165) ~[?:?] at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:152) ~[?:?] at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:110) ~[?:?] at ch.qos.logback.core.joran.GenericConfigurator.doConfigure(GenericConfigurator.java:81) ~[?:?] at org.ops4j.pax.logging.logback.internal.PaxLoggingServiceImpl.configureLogback(PaxLoggingServiceImpl.java:325) ~[?:?] at org.ops4j.pax.logging.logback.internal.PaxLoggingServiceImpl.updated(PaxLoggingServiceImpl.java:258) ~[?:?] at org.ops4j.pax.logging.logback.internal.PaxLoggingServiceImpl$1ManagedPaxLoggingService.updated(PaxLoggingServiceImpl.java:471) ~[?:?] at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updated(ManagedServiceTracker.java:189) ~[9:org.apache.felix.configadmin:1.9.14] at org.apache.felix.cm.impl.helper.ManagedServiceTracker.updateService(ManagedServiceTracker.java:152) [9:org.apache.felix.configadmin:1.9.14] at org.apache.felix.cm.impl.helper.ManagedServiceTracker.provideConfiguration(ManagedServiceTracker.java:85) [9:org.apache.felix.configadmin:1.9.14] at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.provide(ConfigurationManager.java:1113) [9:org.apache.felix.configadmin:1.9.14] at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1069) [9:org.apache.felix.configadmin:1.9.14] at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:138) [9:org.apache.felix.configadmin:1.9.14] at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:105) [9:org.apache.felix.configadmin:1.9.14] at java.lang.Thread.run(Thread.java:748) [?:?] Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ObjectMapper not found by org.ops4j.pax.logging.pax-logging-logback [13] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1639) ~[?:?] at org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80) ~[?:?] at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053) ~[?:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:?] ... 26 more