[logback-dev] [JIRA] Commented: (LBCORE-128) Please support implementation of binary log files in RollingFileAppender/FileAppender

Ceki Gulcu (JIRA) noreply-jira at qos.ch
Fri Feb 19 10:31:33 CET 2010


    [ http://jira.qos.ch/browse/LBCORE-128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11546#action_11546 ] 

Ceki Gulcu commented on LBCORE-128:
-----------------------------------

I agree that a setOutputStream() method would define a cleaner API. Unfortunately, the actual OutputStream can change in mid-flight and for concurrency reasons, it was easier  to have FileAppender hand the "current" OutputStream as locally available to the method invoking the encoder's methods.   

As for merging Layout and Encoder, if you look in the "encoder" branch [1], you'll see that for WriteAppender and sub-classes now  take an encoder instead of a layout. Other appenders which had a layout continue to have a layout and those which did not have a layout still don't. In summary, only WriterAppender and sub-classes are affected.
 
We'll see how the API holds up when tested with a binary encoder.

[1] http://github.com/ceki/logback/tree/encoder

> Please support implementation of binary log files in RollingFileAppender/FileAppender
> -------------------------------------------------------------------------------------
>
>                 Key: LBCORE-128
>                 URL: http://jira.qos.ch/browse/LBCORE-128
>             Project: logback-core
>          Issue Type: Improvement
>          Components: Appender
>    Affects Versions: 0.9.17
>            Reporter: Joern Huxhorn
>            Assignee: Ceki Gulcu
>
> This was discussed briefly at http://marc.info/?l=logback-dev&m=124905434331308&w=2 and I forgot to file a ticket about this.
> Currently, RandomFileAppender => FileAppender => WriterAppender is using the following method in WriterAppender to actually write the data:
> protected void writerWrite(String s, boolean flush) throws IOException
> Please add an additional method like
> protected void writerWrite(byte[] bytes, boolean flush) throws IOException
> to write to the underlying stream directly.
> writerWrite(String, boolean) could call that method after performing the transformation internally, making this change transparent for the rest of the implementation.
> Using a binary format for logfiles could have tremendous performance impact as can be seen here: http://sourceforge.net/apps/trac/lilith/wiki/SerializationPerformance

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.qos.ch/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the logback-dev mailing list