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: log4net-user@logging.apache.org 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: "log4net-user@logging.apache.org" <log4net-user@logging.apache.org> 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