logging-log4j-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "McCarthy, Peter (Peter)" <pete...@avaya.com>
Subject Async Loggers and Appenders
Date Thu, 06 Feb 2014 08:23:16 GMT
In documentation for Async appenders you state the following :

"Asynchronous Appenders already existed in Log4j 1.x, but have been enhanced to flush to disk
at the end of a batch (when the queue is empty). This produces the same result as configuring
"immediateFlush=true", that is, all received log events are always available on disk, but
is more efficient because it does not need to touch the disk on each and every log event.
(Async Appenders use ArrayBlockingQueue internally and do not need the disruptor jar on the

In the case of an abnormal termination of the jvm (e.g. a native thread references an invalid
memory location causing a segmentation fault), the above statement would not hold true as
the contents of the buffer would be lost depending on whether the shutdown hooks were called
or not. Is this a reasonable assumption?

Also for Asynchronous Appenders, ensuring that their buffers are flushed relies on the fact
that shutdown hooks are invoked, is this also correct?

Thanks for your opinion on these matters

Peter McCarthy
View raw message