JSONLayout log4j2 Configuration Fails Due to Missing Jackson Class

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Low
    • None
    • Affects Version/s: 9.5.0, 9.12.10, 10.4.1
    • Component/s: Environment - Java
    • 9.05
    • 1
    • Severity 3 - Minor

      Issue Summary

      JSONLayout log4j2 Configuration Fails Due to Missing Jackson Class

      This is reproducible on Data Center: (yes)

      Steps to Reproduce

      1. Configure Log4j with JSONLayout in the log4j2.xml configuration file.
      2. Start the application and observe the log output.

      Note I've attached a sample log4j2.xml configuration file that demonstrates the issue.

      Expected Results

      Logs should be formatted in JSON as specified by the JSONLayout configuration.

      Actual Results

      Logs are written in plain text format, and the following error is observed in catalina.out:

      2025-03-06 10:12:52,960 main ERROR Could not create plugin of type class org.apache.logging.log4j.core.layout.JsonLayout for element JSONLayout: java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ser/FilterProvider java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ser/FilterProvider
      	at org.apache.logging.log4j.core.layout.JsonLayout.<init>(JsonLayout.java:159)
      	at org.apache.logging.log4j.core.layout.JsonLayout.<init>(JsonLayout.java:71)
      	at org.apache.logging.log4j.core.layout.JsonLayout$Builder.build(JsonLayout.java:103)
      	at org.apache.logging.log4j.core.layout.JsonLayout$Builder.build(JsonLayout.java:79)
      	at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:124)
      	at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:1122)
      	at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1047)
      	at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039)
      	at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:1039)
      	at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:651)
      	at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:249)
      	at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:295)
      	at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:621)
      	at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:694)
      	at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:711)
      	at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:253)
      	at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:245)
      	at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
      	at org.apache.logging.log4j.LogManager.getContext(LogManager.java:176)
      	at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:666)
      	at com.atlassian.logging.log4j.juli.JuliToLog4jHandler.publish(JuliToLog4jHandler.java:45)
      	at java.logging/java.util.logging.Logger.log(Logger.java:980)
      	at java.logging/java.util.logging.Logger.doLog(Logger.java:1007)
      	at java.logging/java.util.logging.Logger.logp(Logger.java:1173)
      	at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:173)
      	at org.apache.juli.logging.DirectJDKLog.info(DirectJDKLog.java:116)
      	at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:264)
      	at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104)
      	at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:83)
      	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4438)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
      	at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
      	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)
      	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:721)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203)
      	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
      	at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
      	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:749)
      	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:211)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
      	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:415)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
      	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:878)
      	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
      	at org.apache.catalina.startup.Catalina.start(Catalina.java:735)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
      	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
      	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
      Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.ser.FilterProvider
      	at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
      	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)
      	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
      	... 58 more
      

      Workaround

      There is currently no workaround for this problem.

            Assignee:
            Unassigned
            Reporter:
            David Di Blasio (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: