The problem with asynchronous SocketAppenders is that you have
essentially three options:
a) you keep events in an in memory-back-buffer. This will lead to
out-of-memory situations if more events are produced than transfered.
At this point your app will either explode or drop events. Both is not
really an option.
b) you keep the events in a disk-based buffer.This will lead to
out-of-disk-space situations if more events are produced than
transfered. See a) ;)
So event transmission must be synchronous.
You can also use a bounded blocking queue. In this way the process is
usually asynchronous but falls back to (nearly) synchronous it there are
too many events and slows down the system. But I think the througput
will be higher even in the latter case.
_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev