I've recently upgraded from 8.0.15 to 8.0.18 and I have a new problem which I 
didn't have on 8.0.15. The configuration of tomcat and my application remained 
exactly the same when upgrading.

When running tomcat with 
-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
 (defined in setenv.sh) to enable log4j2's async logging, I now get a 
ClassNotFoundException (see below). What could be the problem?

Here's catalina.out with FINE level logging for org.apache.jasper.servlet:

04-Feb-2015 16:28:39.721 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Server version:        
Apache Tomcat/8.0.18
04-Feb-2015 16:28:39.721 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Server built:          
Jan 23 2015 11:56:07 UTC
04-Feb-2015 16:28:39.722 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Server number:         
8.0.18.0
04-Feb-2015 16:28:39.722 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log OS Name:               
Linux
04-Feb-2015 16:28:39.722 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log OS Version:            
3.13.0-45-generic
04-Feb-2015 16:28:39.723 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Architecture:          
amd64
04-Feb-2015 16:28:39.723 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Java Home:             
/usr/lib/jvm/jdk1.7.0_71/jre
04-Feb-2015 16:28:39.723 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           
1.7.0_71-b14
04-Feb-2015 16:28:39.723 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            
Oracle Corporation
04-Feb-2015 16:28:39.724 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         
/home/tomcat/apache-tomcat-8.0.18
04-Feb-2015 16:28:39.724 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         
/home/tomcat/apache-tomcat-8.0.18
04-Feb-2015 16:28:39.725 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line argument: 
-Djava.util.logging.config.file=/home/tomcat/current_tomcat/conf/logging.properties
04-Feb-2015 16:28:39.725 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line argument: 
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
04-Feb-2015 16:28:39.729 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line argument: 
-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
04-Feb-2015 16:28:39.730 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line argument: 
-Djava.endorsed.dirs=/home/tomcat/current_tomcat/endorsed
04-Feb-2015 16:28:39.730 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line argument: 
-Dcatalina.base=/home/tomcat/current_tomcat
04-Feb-2015 16:28:39.730 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line argument: 
-Dcatalina.home=/home/tomcat/current_tomcat
04-Feb-2015 16:28:39.730 INFO [main] 
org.apache.catalina.startup.VersionLoggerListener.log Command line argument: 
-Djava.io.tmpdir=/home/tomcat/current_tomcat/temp
04-Feb-2015 16:28:39.731 INFO [main] 
org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based 
Apache Tomcat Native library which allows optimal performance in production 
environments wa
s not found on the java.library.path: 
/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
04-Feb-2015 16:28:40.216 INFO [main] org.apache.coyote.AbstractProtocol.init 
Initializing ProtocolHandler ["http-nio2-8080"]
04-Feb-2015 16:28:40.367 INFO [main] org.apache.catalina.startup.Catalina.load 
Initialization processed in 2840 ms
04-Feb-2015 16:28:40.512 INFO [main] 
org.apache.catalina.core.StandardService.startInternal Starting service Catalina
04-Feb-2015 16:28:40.519 INFO [main] 
org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: 
Apache Tomcat/8.0.18
04-Feb-2015 16:28:42.315 FINE [localhost-startStop-1] 
org.apache.jasper.servlet.JasperInitializer.onStartup Initializing Jasper for 
context [null]
04-Feb-2015 16:28:42.514 FINE [localhost-startStop-1] 
org.apache.jasper.servlet.JspServlet.init Scratch dir for the JSP engine is: 
/home/tomcat/apache-tomcat-8.0.18/work/Catalina/localhost/plstatic
04-Feb-2015 16:28:42.522 FINE [localhost-startStop-1] 
org.apache.jasper.servlet.JspServlet.init IMPORTANT: Do not modify the 
generated servlets
04-Feb-2015 16:28:42.635 FINE [localhost-startStop-1] 
org.apache.jasper.servlet.JasperInitializer.onStartup Initializing Jasper for 
context [null]
04-Feb-2015 16:28:42.663 FINE [localhost-startStop-1] 
org.apache.jasper.servlet.JspServlet.init Scratch dir for the JSP engine is: 
/home/tomcat/apache-tomcat-8.0.18/work/Catalina/localhost/release
04-Feb-2015 16:28:42.667 FINE [localhost-startStop-1] 
org.apache.jasper.servlet.JspServlet.init IMPORTANT: Do not modify the 
generated servlets
04-Feb-2015 16:28:42.676 INFO [localhost-startStop-1] 
org.apache.catalina.startup.HostConfig.deployWAR Deploying web application 
archive /home/tomcat/apache-tomcat-8.0.18/webapps/ROOT.war
04-Feb-2015 16:28:47.242 FINE [localhost-startStop-1] 
org.apache.jasper.servlet.JasperInitializer.onStartup Initializing Jasper for 
context [MyTestContext]
04-Feb-2015 16:28:47.263 FINE [localhost-startStop-1] 
org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan No TLD files were 
found in [file:/home/tomcat/apache-tomcat-8.0.18/webapps/ROOT/WEB-INF/
lib/disruptor-3.3.0.jar]. Consider adding the JAR to the 
tomcat.util.scan.StandardJarScanFilter.jarsToSkip property in 
CATALINA_BASE/conf/catalina.properties file.
04-Feb-2015 16:28:47.285 FINE [localhost-startStop-1] 
org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan No TLD files were 
found in [file:/home/tomcat/apache-tomcat-8.0.18/webapps/ROOT/WEB-INF/
lib/log4j-core-2.1.jar]. Consider adding the JAR to the 
tomcat.util.scan.StandardJarScanFilter.jarsToSkip property in 
CATALINA_BASE/conf/catalina.properties file.
... (a few more jars without TLDs)
04-Feb-2015 16:28:47.296 FINE [localhost-startStop-1] 
org.apache.jasper.servlet.TldScanner$TldScannerCallback.scan No TLD files were 
found in 
[file:/home/tomcat/apache-tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/guava-18.0.jar].
 Consider adding the JAR to the 
tomcat.util.scan.StandardJarScanFilter.jarsToSkip property in 
CATALINA_BASE/conf/catalina.properties file.
04-Feb-2015 16:28:47.301 INFO [localhost-startStop-1] 
org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for 
TLDs yet contained no TLDs. Enable debug logging for this logger for a complete 
list of JARs that were scanned but no TLDs were found in them. Skipping 
unneeded JARs during scanning can improve startup time and JSP compilation time.
ERROR StatusLogger Unable to create context 
org.apache.logging.log4j.core.async.AsyncLoggerContextSelector^M 
java.lang.ClassNotFoundException: 
org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
        at 
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
        at 
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:191)
        at 
org.apache.logging.log4j.util.LoaderUtil.loadClass(LoaderUtil.java:117)
        at 
org.apache.logging.log4j.util.LoaderUtil.newInstanceOf(LoaderUtil.java:136)
        at 
org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOf(LoaderUtil.java:163)
        at 
org.apache.logging.log4j.core.util.Loader.newCheckedInstanceOf(Loader.java:311)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.createContextSelector(Log4jContextFactory.java:96)
        at 
org.apache.logging.log4j.core.impl.Log4jContextFactory.<init>(Log4jContextFactory.java:54)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at java.lang.Class.newInstance(Class.java:379)
        at 
org.apache.logging.log4j.LogManager.<clinit>(LogManager.java:96)
        at 
org.apache.logging.log4j.core.config.Configurator.getFactory(Configurator.java:154)
        at 
org.apache.logging.log4j.core.config.Configurator.initialize(Configurator.java:109)
        at 
org.apache.logging.log4j.web.Log4jWebInitializerImpl.initializeNonJndi(Log4jWebInitializerImpl.java:157)
        at 
org.apache.logging.log4j.web.Log4jWebInitializerImpl.start(Log4jWebInitializerImpl.java:107)
        at 
org.apache.logging.log4j.web.Log4jServletContainerInitializer.onStartup(Log4jServletContainerInitializer.java:57)
        at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5143)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
        at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:917)
        at 
org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1701)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

2015-02-04 16:28:48,027 DEBUG Starting LoggerContext[name=WebappClassLoader
  context: ROOT
  delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@523bd44c
] from configuration at log4j2.xml
2015-02-04 16:28:48,028 DEBUG Starting LoggerContext[name=WebappClassLoader
  context: ROOT
  delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@523bd44c
, org.apache.logging.log4j.core.LoggerContext@71df80c3] with configuration 
XmlConfiguration[location=/home/tomcat/apache-tomcat-8.0.18/webapps/ROOT/WEB-INF/classes/log4j2.xml]...
2015-02-04 16:28:48,029 DEBUG Shutdown hook enabled. Registering a new one.
2015-02-04 16:28:48,030 DEBUG Starting configuration 
XmlConfiguration[location=/home/tomcat/apache-tomcat-8.0.18/webapps/ROOT/WEB-INF/classes/log4j2.xml]

Thanks

Reply via email to