Kireet Reddy created LOG4J2-493:
-----------------------------------

             Summary: NPE in AsyncLogger.shutdown
                 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
         Environment: tomcat 7
            Reporter: Kireet Reddy


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. 



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to