[
https://issues.apache.org/jira/browse/LOG4J2-493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Remko Popma updated LOG4J2-493:
-------------------------------
Description:
When redeploying my application in tomcat multiple times, I get an exception:
{code}
Exception in thread "Thread-29" java.lang.NullPointerException
at
org.apache.logging.log4j.core.async.AsyncLogger.stop(AsyncLogger.java:249)
at
org.apache.logging.log4j.core.async.AsyncLoggerContext.stop(AsyncLoggerContext.java:56)
at
org.apache.logging.log4j.core.LoggerContext$ShutdownThread.run(LoggerContext.java:437)
{code}
This seems to be due to the fact that some initialization code happens in the
class initializer but is undone in the stop() method which is called during
webapp undeployment. This causes issues because in this case the log4j jar is
loaded by the shared classloader ($catalina.home/lib) rather than the webapp
classloader. This means the AsyncLogger class is not re-created during webapp
deployment.
I am using this structure because I have many 3rd party libraries and want to
keep redeployments lightweight.
was:
When redeploying my application in tomcat multiple times, I get an exception:
Exception in thread "Thread-29" java.lang.NullPointerException
at
org.apache.logging.log4j.core.async.AsyncLogger.stop(AsyncLogger.java:249)
at
org.apache.logging.log4j.core.async.AsyncLoggerContext.stop(AsyncLoggerContext.java:56)
at
org.apache.logging.log4j.core.LoggerContext$ShutdownThread.run(LoggerContext.java:437)
This seems to be due to the fact that some initialization code happens in the
class initializer but is undone in the stop() method which is called during
webapp undeployment. This causes issues because in this case the log4j jar is
loaded by the shared classloader ($catalina.home/lib) rather than the webapp
classloader. This means the AsyncLogger class is not re-created during webapp
deployment.
I am using this structure because I have many 3rd party libraries and want to
keep redeployments lightweight.
Affects Version/s: 2.0-rc1
Assignee: Remko Popma
Summary: Problem with AsyncLogger when web app is
deployed/undeployed multiple times (was: NPE in AsyncLogger.shutdown)
Good point, Matt. I've changed the title of this issue from "NPE in
AsyncLogger" to "Problem with AsyncLogger when web app is deployed/undeployed
multiple times".
> Problem with AsyncLogger when web app is deployed/undeployed multiple times
> ---------------------------------------------------------------------------
>
> Key: LOG4J2-493
> URL: https://issues.apache.org/jira/browse/LOG4J2-493
> Project: Log4j 2
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.0-beta9, 2.0-rc1
> Environment: tomcat 7.0.42
> Reporter: Kireet Reddy
> Assignee: Remko Popma
>
> When redeploying my application in tomcat multiple times, I get an exception:
> {code}
> Exception in thread "Thread-29" java.lang.NullPointerException
> at
> org.apache.logging.log4j.core.async.AsyncLogger.stop(AsyncLogger.java:249)
> at
> org.apache.logging.log4j.core.async.AsyncLoggerContext.stop(AsyncLoggerContext.java:56)
> at
> org.apache.logging.log4j.core.LoggerContext$ShutdownThread.run(LoggerContext.java:437)
> {code}
> This seems to be due to the fact that some initialization code happens in the
> class initializer but is undone in the stop() method which is called during
> webapp undeployment. This causes issues because in this case the log4j jar is
> loaded by the shared classloader ($catalina.home/lib) rather than the webapp
> classloader. This means the AsyncLogger class is not re-created during webapp
> deployment.
> I am using this structure because I have many 3rd party libraries and want to
> keep redeployments lightweight.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]