logging-log4net-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Wilkinson" <jwe...@gmail.com>
Subject log4net duplicate filtering
Date Wed, 08 Aug 2007 09:43:24 GMT
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

Mime
View raw message