[ https://issues.apache.org/jira/browse/LOG4J2-2956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17292601#comment-17292601 ]
Ralph Goers commented on LOG4J2-2956: ------------------------------------- I have a Spring Boot app and adding the DynamicThresholdFilter to its logging configuration doesn't cause any problems. I am using Log4j 2.14.0. I've pasted my spring, tomcat, and log4j jars for this app. {code:java} -rw-r--r-- 1 rgoers staff 206630 Nov 7 12:34 log4j-1.2-api-2.14.0.jar -rw-r--r-- 1 rgoers staff 301417 Nov 7 12:20 log4j-api-2.14.0.jar -rw-r--r-- 1 rgoers staff 84080 Jun 10 2018 log4j-audit-api-1.0.0.jar -rw-r--r-- 1 rgoers staff 55216 Jun 10 2018 log4j-catalog-api-1.0.0.jar -rw-r--r-- 1 rgoers staff 1762733 Nov 7 12:20 log4j-core-2.14.0.jar -rw-r--r-- 1 rgoers staff 12691 Nov 7 12:36 log4j-jcl-2.14.0.jar -rw-r--r-- 1 rgoers staff 23872 Nov 7 12:35 log4j-slf4j-impl-2.14.0.jar -rw-r--r-- 1 rgoers staff 21087 Nov 7 12:40 log4j-spring-boot-2.14.0.jar -rw-r--r-- 1 rgoers staff 15156 Nov 7 12:40 log4j-spring-cloud-config-client-2.14.0.jar -rw-r--r-- 1 rgoers staff 33460 Nov 7 12:36 log4j-web-2.14.0.jar -rw-r--r-- 1 rgoers staff 148661 Jan 15 2020 spring-amqp-2.2.3.RELEASE.jar -rw-r--r-- 1 rgoers staff 372753 Sep 15 08:22 spring-aop-5.2.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 688380 Sep 15 08:22 spring-beans-5.2.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 1122195 Sep 17 12:53 spring-boot-2.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 592609 Sep 17 12:52 spring-boot-actuator-2.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 515510 Sep 17 12:52 spring-boot-actuator-autoconfigure-2.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 1476367 Sep 17 12:52 spring-boot-autoconfigure-2.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 4763 Sep 17 12:52 spring-boot-starter-2.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 4802 Sep 17 12:52 spring-boot-starter-actuator-2.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 4746 Sep 17 12:52 spring-boot-starter-amqp-2.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 4741 Sep 17 12:52 spring-boot-starter-json-2.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 4790 Sep 17 12:52 spring-boot-starter-tomcat-2.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 4758 Sep 17 12:52 spring-boot-starter-validation-2.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 4798 Sep 17 12:52 spring-boot-starter-web-2.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 47629 Jul 31 2020 spring-cloud-bus-2.2.3.RELEASE.jar -rw-r--r-- 1 rgoers staff 227430 Nov 9 09:25 spring-cloud-commons-2.2.6.RELEASE.jar -rw-r--r-- 1 rgoers staff 43965 Nov 9 10:10 spring-cloud-config-client-2.2.6.RELEASE.jar -rw-r--r-- 1 rgoers staff 127578 Nov 9 09:24 spring-cloud-context-2.2.6.RELEASE.jar -rw-r--r-- 1 rgoers staff 129355 Nov 6 11:25 spring-cloud-function-context-3.0.11.RELEASE.jar -rw-r--r-- 1 rgoers staff 15914 Nov 6 11:25 spring-cloud-function-core-3.0.11.RELEASE.jar -rw-r--r-- 1 rgoers staff 2737 Nov 9 09:25 spring-cloud-starter-2.2.6.RELEASE.jar -rw-r--r-- 1 rgoers staff 2686 Nov 9 10:13 spring-cloud-starter-config-2.2.6.RELEASE.jar -rw-r--r-- 1 rgoers staff 296038 Nov 6 13:30 spring-cloud-stream-3.0.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 39435 Nov 6 13:38 spring-cloud-stream-binder-rabbit-3.0.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 34416 Nov 6 13:38 spring-cloud-stream-binder-rabbit-core-3.0.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 1229356 Sep 15 08:22 spring-context-5.2.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 182943 Sep 15 08:22 spring-context-support-5.2.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 1442482 Feb 1 1980 spring-core-5.2.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 1212127 Sep 16 11:49 spring-data-commons-2.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 282217 Sep 15 08:22 spring-expression-5.2.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 143501 Jul 22 2020 spring-integration-amqp-5.3.2.RELEASE.jar -rw-r--r-- 1 rgoers staff 1577351 Jul 22 2020 spring-integration-core-5.3.2.RELEASE.jar -rw-r--r-- 1 rgoers staff 71029 Jul 22 2020 spring-integration-jmx-5.3.2.RELEASE.jar -rw-r--r-- 1 rgoers staff 23962 Sep 15 08:22 spring-jcl-5.2.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 549164 Sep 15 08:22 spring-messaging-5.2.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 19896 Mar 5 2015 spring-plugin-core-1.2.0.RELEASE.jar -rw-r--r-- 1 rgoers staff 5145 Mar 5 2015 spring-plugin-metadata-1.2.0.RELEASE.jar -rw-r--r-- 1 rgoers staff 512594 Sep 16 14:00 spring-rabbit-2.2.11.RELEASE.jar -rw-r--r-- 1 rgoers staff 129403 Dec 9 2019 spring-retry-1.2.5.RELEASE.jar -rw-r--r-- 1 rgoers staff 80061 Aug 5 2020 spring-security-crypto-5.3.4.RELEASE.jar -rw-r--r-- 1 rgoers staff 19910 Dec 9 2019 spring-security-rsa-1.0.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 314820 Sep 15 08:22 spring-tx-5.2.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 1441860 Sep 15 08:22 spring-web-5.2.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 956593 Sep 15 08:23 spring-webmvc-5.2.9.RELEASE.jar -rw-r--r-- 1 rgoers staff 3401538 Sep 10 09:05 tomcat-embed-core-9.0.38.jar -rw-r--r-- 1 rgoers staff 270124 Sep 10 09:05 tomcat-embed-websocket-9.0.38.jar{code} > Using log4j-spring-cloud-config-client and DynamicThresholdFilter cause Could > not initialize class > org.apache.logging.log4j.core.impl.ContextDataFactoryException > ----------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: LOG4J2-2956 > URL: https://issues.apache.org/jira/browse/LOG4J2-2956 > Project: Log4j 2 > Issue Type: Bug > Components: Spring > Affects Versions: 2.13.3 > Reporter: Rafał Figas > Priority: Major > > Assumptions: > # Application is a Spring Boot app. > # {{It is configured to use spring-boot-starter-log4j2}} > {{There is a log4j2.cfg.xml provided through logging.config property and it > is working fine. It contains following part:}} > > {noformat} > <DynamicThresholdFilter key="X-Log-Level" onMatch="ACCEPT" > onMismatch="NEUTRAL"> > <DefaultThreshold>INFO</DefaultThreshold> > <KeyValuePair key="DEBUG" value="DEBUG" /> > <KeyValuePair key="TRACE" value="TRACE" /> > </DynamicThresholdFilter>{noformat} > {{However when dependency log4j-spring-cloud-config-client is added > application does not start with following exception:}} > {noformat} > Exception in thread "main" java.lang.NoClassDefFoundError: Could not > initialize class > org.apache.logging.log4j.core.impl.ContextDataFactoryException in thread > "main" java.lang.NoClassDefFoundError: Could not initialize class > org.apache.logging.log4j.core.impl.ContextDataFactory > at > org.apache.logging.log4j.core.impl.ThreadContextDataInjector$ForDefaultThreadContextMap.rawContextData(ThreadContextDataInjector.java:137) > > at > org.apache.logging.log4j.core.filter.DynamicThresholdFilter.currentContextData(DynamicThresholdFilter.java:162) > > at > org.apache.logging.log4j.core.filter.DynamicThresholdFilter.filter(DynamicThresholdFilter.java:152) > at > org.apache.logging.log4j.core.Logger$PrivateConfig.filter(Logger.java:609) > at org.apache.logging.log4j.core.Logger.isEnabled(Logger.java:258) at > org.apache.logging.log4j.spi.AbstractLogger.isEnabled(AbstractLogger.java:1513) > > at > org.apache.commons.logging.LogAdapter$Log4jLog.isErrorEnabled(LogAdapter.java:175) > at > org.springframework.boot.SpringApplication.reportFailure(SpringApplication.java:836) > > at > org.springframework.boot.SpringApplication.handleRunFailure(SpringApplication.java:812) > at > org.springframework.boot.SpringApplication.run(SpringApplication.java:325) > at > org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) > at > org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) > at > pl.frati.moray.configserver.ConfigServerApplication.main(ConfigServerApplication.java:12) > {noformat} > First of all I have no idea what is missing. Without mentioned dependency > application startup is correct. Also, removing DynamicThresholdFilter solves > the problem as well. > Second of all it seems that exception message is somewhat broken, because it > does not say anything about what class is missing. I've tried to debug this, > but class ContextDataFactory is pretty hard to debug. Fix in exception > message should ease the hunt. > -- This message was sent by Atlassian Jira (v8.3.4#803005)