You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@logging.apache.org by "Ralph Goers (Jira)" <ji...@apache.org> on 2021/03/01 04:17:00 UTC
[jira] [Commented] (LOG4J2-2956) Using
log4j-spring-cloud-config-client and DynamicThresholdFilter cause Could not
initialize class
org.apache.logging.log4j.core.impl.ContextDataFactoryException
[ 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)