Remko Popma created LOG4J2-222:
----------------------------------
Summary: 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
>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]