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

Remko Popma commented on LOG4J2-493:
------------------------------------

Merged branch LOG4J2-493-AsyncLogger-webapps into master: all tests pass, and 
the AsyncLogger related code is much improved.
Need to do some more testing to check that these changes fully resolve this 
issue.

> 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
>              Labels: Async
>             Fix For: 2.5
>
>
> |_This ticket tracks Async Logger issues in Tomcat when making all loggers 
> async with LoggerContextSelector system property. For Tomcat issues with 
> AsyncRoot/AsyncLogger in the configuration file, see LOG4J2-323._|
> 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.3.4#6332)

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

Reply via email to