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

Geng Yuanzhe commented on LOG4J2-2918:
--------------------------------------

I've test your case, and you should just remove the code 
*Configurator.reconfigure(config);*

Because when reconfigure of log4j2, the config is first set to the new one, and 
then stop the prev one.  In your case, the *prev one is the new one*. So this 
config is stopped, which will stop the Disruptor and set it to null. Then when 
you try to log with the logger, the NPE is thrown. 

Maybe the method reconfigure() should do something to protect this case. But in 
your case, just delete the *Configurator.reconfigure(config)*, and everything 
will be ok.

> NPE on reconfigure method call with async configuration
> -------------------------------------------------------
>
>                 Key: LOG4J2-2918
>                 URL: https://issues.apache.org/jira/browse/LOG4J2-2918
>             Project: Log4j 2
>          Issue Type: Bug
>    Affects Versions: 2.13.3
>            Reporter: Dennys Fredericci
>            Priority: Major
>
> I am getting the error below trying to reconfigure log4j programmatically.
>  
> {code:java}
> 2020-08-24 10:10:18,163 main ERROR Could not register mbeans 
> java.lang.NullPointerException at 
> org.apache.logging.log4j.core.async.AsyncLoggerConfigDisruptor.createRingBufferAdmin(AsyncLoggerConfigDisruptor.java:417)
>  at 
> org.apache.logging.log4j.core.async.AsyncLoggerConfig.createRingBufferAdmin(AsyncLoggerConfig.java:199)
>  at 
> org.apache.logging.log4j.core.jmx.Server.registerLoggerConfigs(Server.java:366)
>  at 
> org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:186)
>  at 
> org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:141)
>  at 
> org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:629)
>  at 
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:712)
>  at 
> org.apache.logging.log4j.core.config.Configurator.reconfigure(Configurator.java:239)
>  at br.com.fredericci.Main.main(Main.java:28)
> {code}
>  
> Seems the same or similar problem described here:
> https://issues.apache.org/jira/browse/LOG4J2-807
> Here is the project which reproduces this issue:
> [https://github.com/dennysfredericci/log4j2-filter-spike]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to