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