Sam*_*ack 7 log4net log4net-configuration log4net-filter log4net-appender
有没有办法从日志中过滤出INFO,只显示DEBUG&ERROR,使用web.config中的配置?
<root>
<level value="DEBUG" />
<appender-ref ref="ColoredConsoleAppender" />
<appender-ref ref="RollingFileSystemAppender" />
<appender-ref ref="ConsoleAppender" />
</root>
Run Code Online (Sandbox Code Playgroud)
sam*_*amy 10
在log4X中,有一些过滤器可以应用于appender以过滤消息; 这是一个过滤器列表
在您的情况下,您需要过滤三个appender以排除INFO级别:LevelMatchFilter拒绝INFO级别日志将起作用:
<filter type="log4net.Filter.LevelMatchFilter">
<acceptOnMatch value="false" />
<levelToMatch value="INFO" />
</filter>
Run Code Online (Sandbox Code Playgroud)
请注意,<filter>标签(如上面的示例所示)必须出现在<appender>标签内!例如(这不是有效的 log4net 配置 - 我仅显示该<filter>标签如何成为以下子条目<appender>:
<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>
Run Code Online (Sandbox Code Playgroud)