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)