Hi, I wanted to post the code I'd written for duplicate filtering a couple of weeks ago, but got distracted with some other work. After noticing the recent messages about duplicate filtering, I just figured that posting it in its current state might be of use to people.
It's a modified forwarding appender that does duplicate event filtering with a summary message inserted after the series of duplicate events has completed. I started off trying to implement it as a filter, but hit the problem of not being able to insert the summary message into the stream. here's the source... http://www.idiots.org.uk/log4net/DupeFilteringForewardingAppender_08-08-07.txt<http://www.idiots.org.uk/log4net/DupeFilteringForewardingAppender_08-07-07.txt> Typical usage would be something like this... <!-- use this forwarding appender as a dupe filter which then passes on to the console --> <appender name="DupeFilteringForwardingAppender" type=" log4net.Appender.DupeFilteringForwardingAppender" > <appender-ref ref="ConsoleAppender" /> <FlushTimeout value="3" /> </appender> FlushTimeout (integer seconds) - see the comment in the source for the public property for how this works. There are a whole load of things I'm not really sure I've done very well. The name of the thing for a start. The message fingerprinting might be more efficiently done as a checksum and from what I know, I think the reliance on the .net 2.0 generic-based list probably isn't in the spirit of the log4net coding standards. The hard-coded way that event fingerprints are built up feels like it needs thought. Anyway, it's maybe a start. Also, thanks to Peter for clearing up my misconception about log4net plugins. James
