Log4Net配置-LevelMatchFilter

Log4Net配置-LevelMatchFilter,filter,log4net,sequence,Filter,Log4net,Sequence,因为在log4net中有以下级别 全部 调试 信息 警告 错误 致命的 关 有人能在log4net中告诉我如何只记录信息和错误或调试和错误?我在这里的意思是能够记录两个不同的级别,它们不是按顺序排列的 如果我使用以下命令,则无法执行此操作,因为警告消息也将被记录,而我不希望这样做: <filter type="log4net.Filter.LevelRangeFilter"> <acceptOnMatch value="true" /> <lev

因为在log4net中有以下级别

  • 全部
  • 调试
  • 信息
  • 警告
  • 错误
  • 致命的
有人能在log4net中告诉我如何只记录信息和错误调试和错误?我在这里的意思是能够记录两个不同的级别,它们不是按顺序排列的

如果我使用以下命令,则无法执行此操作,因为警告消息也将被记录,而我不希望这样做:

<filter type="log4net.Filter.LevelRangeFilter">
    <acceptOnMatch value="true" />
    <levelMin value="INFO" />
    <levelMax value="ERROR" />
</filter>

试试:


将LevelMatchFilter与DenyAllFilter结合使用:


@BradLaney等人,如果@iffi的修复程序不起作用,请确保版本至少为1.2.11。以下是错误报告:

另外,如果将lossy设置为true,则需要一个LevelMatchFilter不是的求值器(它是一个过滤器)。这对我来说很有用:

    <filter type="log4net.Filter.LevelMatchFilter">
      <param name="LevelToMatch" value="WARN" />
    </filter>
    <filter type="log4net.Filter.DenyAllFilter" />s a

是的

我不想添加注释。

现在还没有人说,
标记(如上面的示例所示)必须出现在
标记中!例如(这不是一个有效的log4net配置——我只展示了
标记是如何作为
下的子条目的):



Thank Mike的可能重复。我按照你说的那样尝试了,但没有成功。然后我做了更多的研究并找到了解决方案。请参阅答案部分的解决方案。谢谢你的帮助。谢谢你的示例。仅供参考,
true
acceptOnMatch
的默认值,因此这同样适用于这些行省略。@如果这在更新版本的log4net中根本不起作用,那么这一点没有人说标签(如上所示)必须出现在标签中!请参阅下面我的补充答案。
    <filter type="log4net.Filter.LevelMatchFilter">
      <param name="LevelToMatch" value="WARN" />
    </filter>
    <filter type="log4net.Filter.DenyAllFilter" />s a
<configuration>
  <configSections>
    <section ...="" />
  </configSections>
  <startup>
    <supportedRuntime ...="" />
  </startup>
  <log4net>
    <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date{dd MMM yyyy HH:mm:ss} {%thread} %level - %message%newline%exception"/>
      </layout>
      <filter type="log4net.Filter.LevelMatchFilter">
        <acceptOnMatch value="true" />
        <levelToMatch  value="INFO" />
      </filter>
      <filter type="log4net.Filter.DenyAllFilter" />
    </appender>
    <root>
      <appender-ref ...="" />
    </root>
    <logger name="Log4NetTest.OtherClass">
      <level value="DEBUG"/>
      <appender-ref ref="ConsoleAppender"/>
    </logger>
  </log4net>
</configuration>