7

我正在尝试根据记录的异常类型过滤我的附加程序。这在 log4net 中可能吗?

4

1 回答 1

10

log4net 不直接支持这个。IFilter但是,您可以通过从接口或FilterSkeleton类(都在命名空间中)派生来轻松实现自己的过滤器log4net.Filter

这样的事情应该可以解决问题:

public class ExceptionTypeFilter : FilterSkeleton
{
     override public FilterDecision Decide(LoggingEvent loggingEvent)
     { 
          var ex = loggingEvent.ExceptionObject as YourExceptionType;
          return (ex != null) ? FilterDecision.Accept : FilterDecision.Deny;         
     }
}

然后,您可以像使用常规过滤器一样使用此过滤器。如需进一步参考,您可以查看标准 log4net 过滤器的源代码。

于 2012-07-06T15:53:11.500 回答