Ralph Goers created LOG4J2-2055:
-----------------------------------
Summary: 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
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)