logging-log4net-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Goldfinger (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LOG4NET-407) AsyncAppender - better Implementation
Date Thu, 13 Feb 2014 07:26:47 GMT

    [ https://issues.apache.org/jira/browse/LOG4NET-407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13900093#comment-13900093

Michael Goldfinger commented on LOG4NET-407:

I used an  existing appender as reference (I think it was the BufferedAppender). Recursive
Guard prevents an Loop if the async appender is placed inside an async appender in the config
file. I did not test if this is really happening but the implementation I used as reference
seems logical to me.

The thing is I was not sure if ErrorHandler.Error can handle simultaneous calls and did not
check it. If there is no problem there should be no harm to move  the try catch outside of
the lock Statement

> AsyncAppender - better Implementation
> -------------------------------------
>                 Key: LOG4NET-407
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-407
>             Project: Log4net
>          Issue Type: Improvement
>          Components: Appenders
>         Environment: .Net 4.0 and newer
>            Reporter: Michael Goldfinger
>            Priority: Minor
>             Fix For: 1.3.0
> I checked out the AsyncAppender (http://svn.apache.org/viewvc/logging/log4net/trunk/examples/net/2.0/Appenders/SampleAppendersApp/cs/src/Appender/AsyncAppender.cs?view=markup)
and found some drawbacks.
> * logevents are not logged if the appender close
> * order of logevents got lost
> I created an new implementation that waits for all logevents to be computed before close
and maintains the order of the events. If the application process got killed the logevents
are lost too but in any other case the loss of logevents could be prevented. The drawback
of my implementation is that the TLP is requred so .NET 2.0 is not supported.
> I could not find the place to contribute so I created this ticket. I hope it's useful.

This message was sent by Atlassian JIRA

View raw message