4 messages in org.apache.logging.log4net-userlog4net duplicate filtering
FromSent OnAttachments
James WilkinsonAug 8, 2007 2:43 am 
Ron GrabowskiAug 8, 2007 4:30 am 
James WilkinsonAug 8, 2007 4:40 am 
Jerry SheaAug 9, 2007 4:45 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:log4net duplicate filteringActions...
From:James Wilkinson (jwe@gmail.com)
Date:Aug 8, 2007 2:43:01 am
List:org.apache.logging.log4net-user

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