Closed sklose closed 8 years ago
Good catch. If it suits your needs, ParallelForwardingAppender is a newer implementation and uses non-default fix as in your PR. I suspect that there is a way the buffer implementation could be abstracted such that ParallelForwardingAppender could use either a blocking buffer or a ring buffer. This would allow us to deprecate and eventually remove AsyncParallelForwardingAppender.
Fix flags can now be set. Thanks for the PR.
I did some benchmarking and noticed that both asynchronous forwarders provided by this library are significantly slower than using the regular RollingFileAppender. Here is the benchmark:
And the result is
The culprit is the FixFlags setting in
AsyncForwardingAppenderBase
. If I exclude FixFlags.Properties it it's roughly 2x faster than the RollingFileAppender. I tried overwriting the FixFlags in my XML configuration, but that results in aNullReferenceException
.