Serilog's BackgroundWorkerSink also drops messages that exceed the bufferSize.
-> bufferSize set to max value.
If bufferSize is exceeded, there are only two choices: drop or block the Log write side. Therefore, blockWhenFull is set to false (default) and bufferSize is increased.
Thank you, it's the perfect setup just as I had in mind!
It would be great to let more people know that ZLogger is set by default for reconsidering performance settings.
Fix the settings of other libraries used for benchmarking. Also, make a few adjustments to ensure the same conditions as ZLogger.
Problem with log messages dropping
AsyncTargetWrapperOverflowAction
set to.Grow
.queueLimit
set to default (10000).bufferSize
set to max value.blockWhenFull
is set to false (default) and bufferSize is increased.Other settings
AsyncTargetWrapper.TimeToSleepBetweenBatches
set to 0 to match other loggers.FileTarget.AutoFlash
is set to trueFileTarget.KeepFileOpen
set to true.FileTarget.ConcurrentWrites
set to false.buffered
is set to true, Serilog does not seem to do explicit flushes. This is probably not fair.flushToDiskInterval
set to 0.flushToDiskInterval
to 1 ms, but Serilog would hang..