[
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)