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