[ 
https://issues.apache.org/jira/browse/LOG4J2-2055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16287744#comment-16287744
 ] 

Ralph Goers commented on LOG4J2-2055:
-------------------------------------

This stack trace is a little different in that it involves resolving the 
PropertySource instead of the Provider. While the fix may be the same the 
problem should be reproduced to see why it can't access the PropertySource it 
found.

> ServiceConfigurationError in Tomcat when Log4j is used as the logging 
> implementation
> ------------------------------------------------------------------------------------
>
>                 Key: LOG4J2-2055
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2055
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: API
>    Affects Versions: 2.9.1
>            Reporter: Ralph Goers
>            Assignee: Ralph Goers
>             Fix For: 2.10.0
>
>
> When Log4j is used as the Tomcat logging implementation using the 
> log4j-appserver Handler applications using Log4j will fail to start trying to 
> load a Log4jProvider they cannot access. The following will appear in the 
> startup log.
> {code}
> 2017-09-23 17:29:43,223 [localhost-startStop-1] ERROR 
> o.a.c.c.ContainerBase.addChildInternal:755 - ContainerBase.addChild: start:
> org.apache.catalina.LifecycleException: Failed to start component 
> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/AuditCatalog]]
>         at 
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 
> ~[catalina.jar:8.5.20]
>         at 
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)
>  [catalina.jar:8.5.20]
>         at 
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) 
> [catalina.jar:8.5.20]
>         at 
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) 
> [catalina.jar:8.5.20]
>         at 
> org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:988) 
> [catalina.jar:8.5.20]
>         at 
> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1860) 
> [catalina.jar:8.5.20]
>         at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514) [?:?]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
>  [?:?]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
>  [?:?]
>         at java.lang.Thread.run(Thread.java:844) [?:?]
> Caused by: java.util.ServiceConfigurationError: 
> org.apache.logging.log4j.spi.Provider: 
> org.apache.logging.log4j.core.impl.Log4jProvider not a subtype
>         at java.util.ServiceLoader.fail(ServiceLoader.java:588) ~[?:?]
>         at java.util.ServiceLoader.access$200(ServiceLoader.java:390) ~[?:?]
>         at 
> java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1231)
>  ~[?:?]
>         at 
> java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1259)
>  ~[?:?]
>         at java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1294) ~[?:?]
>         at java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1379) ~[?:?]
>         at 
> org.apache.logging.log4j.util.ProviderUtil.loadProviders(ProviderUtil.java:101)
>  ~[log4j-api-2.9.2-SNAPSHOT.jar:2.9.2-SNAPSHOT]
>         at 
> org.apache.logging.log4j.util.ProviderUtil.<init>(ProviderUtil.java:67) 
> ~[log4j-api-2.9.2-SNAPSHOT.jar:2.9.2-SNAPSHOT]
>         at 
> org.apache.logging.log4j.util.ProviderUtil.lazyInit(ProviderUtil.java:142) 
> ~[log4j-api-2.9.2-SNAPSHOT.jar:2.9.2-SNAPSHOT]
>         at 
> org.apache.logging.log4j.util.ProviderUtil.hasProviders(ProviderUtil.java:126)
>  ~[log4j-api-2.9.2-SNAPSHOT.jar:2.9.2-SNAPSHOT]
>         at 
> org.apache.logging.log4j.spi.ThreadContextMapFactory.createThreadContextMap(ThreadContextMapFactory.java:73)
>  ~[log4j-api-2.9.2-SNAPSHOT.jar:2.9.2-SNAPSHOT]
>         at 
> org.apache.logging.log4j.ThreadContext.init(ThreadContext.java:224) 
> ~[log4j-api-2.9.2-SNAPSHOT.jar:2.9.2-SNAPSHOT]
>         at 
> org.apache.logging.log4j.ThreadContext.<clinit>(ThreadContext.java:203) 
> ~[log4j-api-2.9.2-SNAPSHOT.jar:2.9.2-SNAPSHOT]
>         at 
> org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createDefaultInjector(ContextDataInjectorFactory.java:83)
>  ~[log4j-core-2.9.1.jar:2.9.1]
>         at 
> org.apache.logging.log4j.core.impl.ContextDataInjectorFactory.createInjector(ContextDataInjectorFactory.java:67)
>  ~[log4j-core-2.9.1.jar:2.9.1]
>         at 
> org.apache.logging.log4j.core.lookup.ContextMapLookup.<init>(ContextMapLookup.java:34)
>  ~[log4j-core-2.9.1.jar:2.9.1]
>         at 
> org.apache.logging.log4j.core.lookup.Interpolator.<init>(Interpolator.java:117)
>  ~[log4j-core-2.9.1.jar:2.9.1]
>         at 
> org.apache.logging.log4j.web.Log4jWebInitializerImpl.<init>(Log4jWebInitializerImpl.java:63)
>  ~[?:?]
>         at 
> org.apache.logging.log4j.web.Log4jWebInitializerImpl.initialize(Log4jWebInitializerImpl.java:86)
>  ~[?:?]
>         at 
> org.apache.logging.log4j.web.WebLoggerContextUtils.getWebLifeCycle(WebLoggerContextUtils.java:83)
>  ~[?:?]
>         at 
> org.apache.logging.log4j.web.Log4jServletContainerInitializer.onStartup(Log4jServletContainerInitializer.java:56)
>  ~[?:?]
>         at 
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196)
>  ~[catalina.jar:8.5.20]
>         at 
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
> ~[catalina.jar:8.5.20]
>         ... 10 more
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to