Here is the smart batching link: https://mechanical-sympathy.blogspot.jp/2011/10/smart-batching.html?m=1
Remko (Shameless plug) Every java main() method deserves http://picocli.info On Wed, Jan 10, 2018 at 8:14 Remko Popma <remko.po...@gmail.com> wrote: > I don’t think that creating a AbstractBatchedAppender/Manager would help > with batching. > > Log4j2 currently already provides core batching support for appender > implementors with the `LogEvent.endOfBatch` attribute. > > LogEvent producers, if they know that more events will follow, should set > this attribute to `false` in the produced events. Conversely, when they > know they have reached the end of a sequence of events they should set this > attribute to `true`. > > LogEvent consumers should monitor this attribute and postpone expensive > operations like flushing a buffer to disk or committing a database > transaction until they see an event with `endOfBatch=true`, or until they > run out of buffer space, whichever comes first. > > This results in a very efficient style of batching known as “smart > batching” (Google it for more details). > > Log4j2 internally uses this with async logging: with async logging, the > “producer” is the async logging queue. The queue “knows“ whether it’s empty > or whether more events will follow immediately and it will set the > `endOfBatch` attribute accordingly. Appenders downstream from the async > logging queue will flush their buffer when they see the end of a batch. > > Jochen, you can achieve your objective of efficiently logging a sequence > or array of log events by setting the `endOfBatch` attribute to false on > all but the last event. On the consumer side, you may buffer all incoming > events until you see one with `endOfBatch=true`. > > I hope this helps. > > Remko > > (Shameless plug) Every java main() method deserves http://picocli.info > > > On Jan 10, 2018, at 6:14, Matt Sicker <boa...@gmail.com> wrote: > > > > AbstractBatchedAppender/Manager >