[logback-dev] [JIRA] Commented: (LBCLASSIC-176) Asynchronous File appender

Konstantin Alexandrov (JIRA) noreply-jira at qos.ch
Sun Dec 20 13:37:33 CET 2009


    [ http://jira.qos.ch/browse/LBCLASSIC-176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=11467#action_11467 ] 

Konstantin Alexandrov commented on LBCLASSIC-176:
-------------------------------------------------

About start/stop - understood. Agree this is better to implement starting and stopping here.
Difference between your and mine appender is I use only one thread to write logs, your thread per appender.
This is increase IO concurrency, not so good thing. Maybe this is better to configure "writer" groups, one per physical device. 

plus:
  ...
     // this is heavy thing, will be done in caller thread context. Rather than prepare this, it's bettrer to just create Throwable object in prepareForDeferredProcessing,
     // and use prepared object in  getCallerData
    event.getCallerData();     

    //redundant, already done in prepareForDeferredProcessing
    event.getThreadName(); 

    //if prepared, then reason of asynchronous handling is loosed, in this case we have only asynch writing
    event.getFormattedMessage(); 
  ...

My idea is to use one thread to prepare formatted message and for write disk file. Also, this is important for rolling file appender to cover possible
blocking when logfile is rotated and compressed. I use my append for heavy loaded web application in trace enabled environment (up to 500K/sec of logs)
and this is save cpu time and decrease io wait (according to vmstat under linux)

> Asynchronous File appender
> --------------------------
>
>                 Key: LBCLASSIC-176
>                 URL: http://jira.qos.ch/browse/LBCLASSIC-176
>             Project: logback-classic
>          Issue Type: New Feature
>          Components: appender
>            Reporter: Konstantin Alexandrov
>            Assignee: Logback dev list
>         Attachments: asynch.zip, AsynchRollingFileAppender.java
>
>
> I implement asynch rolling file appender for my application, the reason is to decrease logging time in time critical part of application.
> This logger save up to 2 time logging time and decrease total IO concurrency. If you found this appender usable, then please include
> to distribution.
> Thanks

-- 
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