[logback-dev] The encoder branch merged with master
Joern Huxhorn
jhuxhorn at googlemail.com
Tue Mar 2 18:06:48 CET 2010
Hm, Lilith couldn't handle this at the moment and it would be pretty
hard to implement it, too.
There would be a rather big magic value instead of the amount of bytes
the next event consists of.
That magic value is actually written by a FileHeaderStrategy
implementation, DefaultFileHeaderStrategy. Due to that separation, my
FileBuffer has no idea what a header might look like, making it more
or less impossible to support an additional file header between two
events.
Wouldn't it be possible to add something like
boolean isFresh or
boolean writeHeader
as an argument for the init method?
This could be used to determine if a file header should be written or
not.
In case of an empty file, init would be called with that argument set
to true, meaning that init should write a file-header. Otherwise it
would simply init the required stream and wouldn't write anything into
it.
Beside me needing this desperately, I think it makes sense in a
general way.
Rgards, Joern.
On 02.03.2010, at 15:55, Ceki Gülcü wrote:
>
> My initial reaction is to let the encoder/decoder deal with this
> issue. Since the encoder can always write its header when its init()
> method is called, the decoder should check for file headers when it
> is reading in the stream.
>
> On 02/03/2010 2:26 PM, Joern Huxhorn wrote:
>> Hi Ceki,
>>
>> did you have the chance to think about a solution concerning the
>> remaining issue of http://jira.qos.ch/browse/LBCORE-128 - namely the
>> missing info about whether the stream is a fresh one or one that is
>> appending to an already existing one?
>>
>> Regards & Thanks,
>> Joern.
>>
>> On 02.03.2010, at 13:12, Ceki Gülcü wrote:
>>
>>> Hello,
>>>
>>>
>>> This is to inform you that I have merge the encoder branch into the
>>> master branch. I am still documenting the changes. In short,
>>> WriterAppeder has been renamed as OutputStreamAppender, FileAppender
>>> now sub-classing the latter. OutputStreamAppender and sub-classes
>>> now
>>> take an Encoder instead of a Layout.
>>>
>>> Contrary to Layouts which simply transform a logging event into a
>>> String, an encoder is responsible for writing the actual event or
>>> more
>>> accurately the representation of the event into the output stream.
>>> The
>>> role of the enclosing appender now only manages the output stream
>>> (opening/closing) but not the actual contents written onto the
>>> stream.
>>>
>>> --
>>> Ceki
> _______________________________________________
> logback-dev mailing list
> logback-dev at qos.ch
> http://qos.ch/mailman/listinfo/logback-dev
More information about the logback-dev
mailing list