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

2009-02-13 Thread Joern Huxhorn
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

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

2009-02-13 Thread Ceki Gulcu
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 appe

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

2009-02-13 Thread Maarten Bosteels
On Fri, Feb 13, 2009 at 3:25 PM, Ceki Gulcu wrote: > > Hi Maarteen, > > I really like the idea of pluggable encoders. Great. > Putting UnsyncronizedAppenderBase aside for a second, I could imagine the > following class hierarchy: > > interface LayoutAware extends Appender; > interface Encoder

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

2009-02-13 Thread Ceki Gulcu
Hi Maarteen, I really like the idea of pluggable encoders. Putting UnsyncronizedAppenderBase aside for a second, I could imagine the following class hierarchy: interface LayoutAware extends Appender; interface EncoderAware extends Appender; abstract class AppenderBase implements Appender; abs

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

2009-02-13 Thread Maarten Bosteels
Hello, I agree with Joern, it would be cleaner to have a LayoutAware interface, and only appenders that use a Layout should implement it. The way it is now, people can set a layout on the SocketAppender, they don't get an exception, but the layout would never be used. I can understand the "histor

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

2009-02-09 Thread Joern Huxhorn
On 09.02.2009, at 23:15, Ceki Gulcu wrote: Hello Joern, At an earlier time, certain classes expected the Appender interface to have a setter/getter for the layout property. AbstractLayoutAction is one such class. However, it is no longer used. (I just removed it.) Oh, I see, "for hi

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

2009-02-09 Thread Ceki Gulcu
Hello Joern, At an earlier time, certain classes expected the Appender interface to have a setter/getter for the layout property. AbstractLayoutAction is one such class. However, it is no longer used. (I just removed it.) Many logback appenders do not require a layout and can have their layo

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

2009-02-09 Thread Joern Huxhorn
Hi Ceki, the only thing that I don't understand is why Appender requires a layout at all. It would by cleaner if there was a sub-interface, e.g. LayoutAwareAooender (just a spontaneous suggestion), that extended Appender and would add said methods. Some appenders, like SocketAppender or som

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

2009-02-09 Thread Ceki Gulcu
Hello all, While working on chapter 11, migration of log4j appenders to logback-classic, it occured to me that the current way AppenderBase implements its layout setter and getter can be confusing. Here is the relevant code: abstract public class AppenderBase extends ContextAwareBase implements