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

Nick Williams commented on LOG4J2-222:
--------------------------------------

Nope, I don't think you've missed anything obvious this time. The change you 
made to {{catalina.properties}} and {{web.xml}} resolved the issue with Log4j 
not shutting down properly. Now you've found a completely unrelated 
ThreadLocal-leak. Please file a separate issue for that. You won't need 
{{catalina.properties}} or your {{web.xml}}, as they have nothing to do with 
this problem. Just include the new Tomcat console output you just showed me, 
{{log4j2.xml}}, and {{setenv.sh}}.

By the way, I noticed you're using Java code to log in your {{asynclog.jsp}}. 
This isn't causing any problems, but it's not the easiest way to log in JSPs. 
You might want to take a look at the [Log4j 2 Tag 
Library|http://logging.apache.org/log4j/2.x/log4j-taglib/index.html].
                
> Async Logger threadpool not shut down by Tomcat shutdown
> --------------------------------------------------------
>
>                 Key: LOG4J2-222
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-222
>             Project: Log4j 2
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.0-beta5
>            Reporter: Remko Popma
>             Fix For: 2.0-beta6
>
>
> From the user mailing list - conversation with Steven Yang:
> Looks like Tomcat shutdown checks for memory leaks and notices that the 
> Disruptor threadpool used by async loggers has not been shut down.
> Is there any way to pick up a Tomcat shutdown signal and use that to trigger 
> log subsystem shutdown?
> -------------------------
> QUOTING STEVEN:
> Thanks, I tried using asyncRoot and everything seems to log fine and I do see 
> a lot of logs.
> And logs do seem to be flushed immediately so I do not know if the hook on 
> shutdown is been called correctly or not.
> I am using struts and spring so I see a lot of logs (log level at DEBUG) just 
> by starting up tomcat, so I am wondering when I use <root> how come I dont 
> see any log at all? how much log do I have to write before it starts to flush 
> out? 
> and one thing I found is that when I use asyncRoot and when I shutdown tomcat 
> I see the following message regarding to clearing references and thread local.
> The last one is related to log4j.
> I am trying this on tomcat 6.0.29. 
> 四月 28, 2013 8:34:46 上午 org.apache.catalina.loader.WebappClassLoader 
> clearReferencesJdbc
> SEVERE: The web application [/test] registered the JBDC driver 
> [org.h2.Driver] but failed to unregister it when the web application was 
> stopped. To prevent a memory leak, the JDBC Driver has been forcibly 
> unregistered.
> 四月 28, 2013 8:34:46 上午 org.apache.catalina.loader.WebappClassLoader 
> clearReferencesThreads
> SEVERE: The web application [/test] appears to have started a thread named 
> [pool-2-thread-1] but has failed to stop it. This is very likely to create a 
> memory leak.
> 四月 28, 2013 8:34:46 上午 org.apache.catalina.loader.WebappClassLoader 
> clearThreadLocalMap
> SEVERE: The web application [/test] created a ThreadLocal with key of type 
> [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@454e119d]) and a value 
> of type [com.opensymphony.xwork2.inject.ContainerImpl] (value 
> [com.opensymphony.xwork2.inject.ContainerImpl@8667df7]) but failed to remove 
> it when the web application was stopped. This is very likely to create a 
> memory leak.
> 四月 28, 2013 8:34:46 上午 org.apache.catalina.loader.WebappClassLoader 
> clearThreadLocalMap
> SEVERE: The web application [/test] created a ThreadLocal with key of type 
> [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@d7e770]) and a value of 
> type [org.apache.logging.log4j.core.impl.Log4jLogEvent] (value 
> [Logger=org.springframework.beans.factory.support.DefaultListableBeanFactory 
> Level=INFO Message=Destroying singletons in 
> org.springframework.beans.factory.support.DefaultListableBeanFactory@61e118f9:
>  defining beans 
> [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframewo...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to