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