The more I think about this the more questions I have. As far as I can recall the Appenders that support batching do so because there is a distinct performance benefit to it and the underlying transport mechanism supports it. But almost every different transport handles batching differently. For example, the Flume Appender creates a batch of Flume Events, the database Appenders create a batch of rows to insert and the Socket appender just uses a buffer that needs to be full before any I/O takes place. In other words, what they are creating a batch of is events that have already had their Layout applied. So I don’t see how you can create a way to create batches before the Appender that will help in any meaningful way.
Ralph
