[ 
https://issues.apache.org/jira/browse/LOG4NET-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan Bodewig resolved LOG4NET-344.
------------------------------------
       Resolution: Fixed
    Fix Version/s:     (was: 3.5)
                   1.3.0

Promoted (and simplified) the AsyncAppender from log4net's examples to log4net 
proper.  If you need buffering, nest the AsyncAppender into a 
BufferingFormwardingAppender.


> Make AdoNetAppender not to stuck application process
> ----------------------------------------------------
>
>                 Key: LOG4NET-344
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-344
>             Project: Log4net
>          Issue Type: Improvement
>          Components: Appenders
>    Affects Versions: 1.2.10
>         Environment: Windows series
>            Reporter: Tom Tang
>              Labels: patch
>             Fix For: 1.3.0
>
>         Attachments: AdoNetAppender.cs, AsyncForwardingAppender.cs
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The original AdoNetAppender could stuck application during log insertion.
> Because it use the sync method call to do database insert, once the DB is 
> unavailable or table was locked.
> I change the implementation that has an inner queue inside to store the 
> messages, and the other independent thread will be going to cunsuming the 
> queue messages and do DB insertion.
> This implementation will not have any impact on application performance and 
> much stable.
> Trade off: Once the queue max buffer was full, the later coming log message 
> would be ignored and gone forever. But log4net is not designed for guarantee 
> delivery in purpose, right? So it's not big deal at all. :)  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to