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.

Regards,
Joern.
_______________________________________________
logback-dev mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-dev

Reply via email to