[logback-dev] Layout setter/getter methods in AppenderBase

Joern Huxhorn jhuxhorn at googlemail.com
Fri Feb 13 20:09:53 CET 2009

I'm in favor of the two interfaces suggested but I wanted to point out  
that the current implementation of SocketAppender could not be changed  
in a compatible way to implement EncoderAware because it is currently  
using a stream of serialized objects instead of byte[] for each object  
(using a new ObjectOutputStream for each new object). This would have  
to be changed.

On 13.02.2009, at 17:06, Ceki Gulcu wrote:

> Maarten Bosteels wrote:
>>    interface LayoutAware extends Appender;
>>    interface EncoderAware extends Appender;
>> I don't understand.
>> In my opinion LayoutAware and EncoderAware should be standalone  
>> interface with just a getter and a setter, and not extend Appender.
> Yes, obviously.
>> All appenders that need a layout should implement LayoutAware.
>> They can implement the interface themselves or - when its practical  
>> - inherit from LayoutAwareAppenderBase
> Agreed.
>> Why would you tie LayoutAware to the Appender interface.
> You could tie the two interfaces by mistake. :-)
>> PS:  Not yet sure whether the encode method should return a byte[]  
>> or a java.nio.ByteBuffer, I think the latter is easier to use.
> That would would be an option to consider.

I would suggest to use byte[] because it can easily be transformed  
into a ByteBuffer using ByteBuffer.wrap() while the other direction  
using byte[] ByteBuffer.buffer() is marked as an optional operation.


More information about the logback-dev mailing list