Configuration Log4Net过滤器“;或;

Configuration Log4Net过滤器“;或;,configuration,logging,log4net,Configuration,Logging,Log4net,如果一个或另一个值匹配,是否可以创建一个过滤器,例如一个中性的PropertyFilter(并传递给链中的下一个过滤器)?比如: <filter type="log4net.Filter.PropertyFilter"> <Key value="myProperty" /> <StringsToMatch Operator="OR"> <Match>value1</Match> <Match

如果一个或另一个值匹配,是否可以创建一个过滤器,例如一个中性的PropertyFilter(并传递给链中的下一个过滤器)?比如:

<filter type="log4net.Filter.PropertyFilter">
   <Key value="myProperty" />
   <StringsToMatch Operator="OR">
       <Match>value1</Match>
       <Match>value2</Match>
   </StringsToMatch>
</filter>

价值1
价值2

我真的不想写我自己的过滤器,我更愿意用普通的Log4Net过滤器来完成。这可能吗?

您当然可以通过子类化自己开发这样一个过滤器

但是,我建议您实现一个更通用的过滤器,它可以配置为包含一组过滤器,并在这些过滤器上应用操作符,而不是像这样创建一个专门的过滤器。配置可能如下所示:

<filter type="CompositeFilter">
  <operator value="Or" />
  <filters>
    <filter type="log4net.Filter.PropertyFilter">
      <stringToMatch value="value1" />
    </filter>
    <filter type="log4net.Filter.PropertyFilter">
      <stringToMatch value="value2" />
    </filter>
  </filters>
</filter>


如果你做了这样一个过滤器,我鼓励你把它提交给log4net项目。这对公众来说肯定是有用的:)

是的,我希望其他人已经这么做了。我很惊讶这样一个成熟的日志引擎在主干中还没有这个功能,五年后它仍然没有!我想没有人愿意去做;-)@BatteryBackupUnit——问题是:有人实现过它吗D