[ https://issues.apache.org/jira/browse/LOG4J2-493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13893372#comment-13893372 ]
Remko Popma commented on LOG4J2-493: ------------------------------------ In revision 1565254 I made a change to {{AsyncLogger.stop()}} that prevents the NullPointerException when stopping. This does not fix the underlying issue that AsyncLogger is a singleton that can only be initialized once. If the log4j-core jar is in the application server's shared lib directory, users will still see NPEs after deploy-undeploy-redeploying the webapp... (I'm just making a note here because the problem will occur in a different place going forward.) > 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.0.42 > 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