[
https://issues.apache.org/jira/browse/LOG4J2-1267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15144542#comment-15144542
]
Constantin Ungureanu commented on LOG4J2-1267:
----------------------------------------------
I want to flush on disk any existing logs and stop the logging subsystem
altogether before terminating my application. If I don't stop the disruptor it
throws that exception.
I tried {{((LifeCycle) LogManager.getContext()).stop();}} with version 2.5 but
I get the same exception. If I use this with version 2.4.1, it gets to call
AsyncLogger.stop() and that it is working. I see that {{stop}} method in 2.5
version moved into AsyncLoggerDisruptor, but it slightly changed and now it is
faulty. I didn't had time to investigate this, if it is the {{stop()}} body
method changes or the change from a static method (and a statically declared
disruptor) to an instance one that cause this issue, I suspect is one of those.
{{LogManager.shutdown();}} would be an elegant solution, I would like that.
> AsyncLogger.stop() method is needed
> -----------------------------------
>
> Key: LOG4J2-1267
> URL: https://issues.apache.org/jira/browse/LOG4J2-1267
> Project: Log4j 2
> Issue Type: Bug
> Components: API
> Affects Versions: 2.5
> Reporter: Constantin Ungureanu
>
> The AsyncLogger.stop() method was used to prevent the exception bellow. Now
> with the 2.5 version, this was removed. Is there a workaround to fix this?
> {code}
> Feb 10, 2016 8:43:59 PM com.lmax.disruptor.FatalExceptionHandler
> handleEventException
> SEVERE: Exception processing: 557627
> org.apache.logging.log4j.core.async.RingBufferLogEvent@45c7b5da
> java.lang.InterruptedException
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(Unknown
> Source)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown
> Source)
> at
> com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:45)
> at
> com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)
> at
> com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:124)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]