It looks like that class was written a while ago so you may already know
this...you should be able to extend the built-in ForwardingAppender and let it
handle the IAppenderAttachable stuff so the Append methods would look something
like this:
public class DupeFilteringForwardingAppender : ForwardingAppender
{
protected override void Append(LoggingEvent loggingEvent)
{
base.Append(CheckForDupe(loggingEvent));
}
protected override void Append(LoggingEvent[] loggingEvents)
{
List<LoggingEvent> filteredLoggingEventList = new List<LoggingEvent>();
foreach (LoggingEvent loggingEvent in loggingEvents)
{
filteredLoggingEventList.AddRange(CheckForDupe(loggingEvent));
}
base.Append(filteredLoggingEventList.ToArray());
}
// snip
}
----- Original Message ----
From: Jerry Shea <[EMAIL PROTECTED]>
To: [email protected]
Sent: Saturday, May 3, 2008 12:50:13 AM
Subject: Re: Throttling/Rollup feature in EventLogAppender
Hi Pranav,
James Wilkinson and I worked up some code to do this. See
http://markmail.org/message/pahnqti7yq4xoz7m
I am currently the bottleneck on this having not responded to James' last
message :(. I'll get moving and hopefully we can contribute this code to the
community soon.
Cheers, Jerry
---------- Forwarded message ----------
From: Pranav Varia <[EMAIL PROTECTED]>
To: "[email protected]" <[email protected]>
Date: Fri, 2 May 2008 14:00:08 -0700
Subject: Throttling/Rollup feature in EventLogAppender
Is there a Throttling feature available or planned in EventLogAppender.
If we log to event log a message that could potentially be logged at frequency
of one per incoming request to my web application, it could flood the event log
with millions of messages if/when things go wrong. If there was a = way to
roll them up every x seconds into a single event log message (with a count of
how many messages where rolledup), it would be useful to me.
Is there any such feature? Or workaround?
Regards
Pranav