【问题标题】:Different levels of logging with log4net使用 log4net 进行不同级别的日志记录
【发布时间】:2014-12-27 21:25:32
【问题描述】:

我必须记录一些方法。在一种方法中,我必须记录所有内容。在所有其他方法中,我只是记录异常... 我已经完成了这个配置:

<log4net>
  <appender name="OneMethodFileAppender" type="log4net.Appender.RollingFileAppender">
    ...

    <filter type="log4net.Filter.PropertyFilter">
      <key value="realMethod" />
      <stringToMatch value="xxx" />
      <acceptOnMatch value="true" />
    </filter>
  </appender>

  <appender name="WebsiteFileAppender" type="log4net.Appender.RollingFileAppender">
    ...

    <filter type="log4net.Filter.PropertyFilter">
      <key value="realMethod" />
      <stringToMatch value="xxx" />
      <acceptOnMatch value="false" />
    </filter>
  </appender>

  <root>
    <appender-ref ref="WebsiteFileAppender">
      <threshold value="ERROR" />
    </appender-ref>
    <appender-ref ref="OneMethodFileAppender">
      <threshold value="INFO" />
    </appender-ref>
  </root>
</log4net>

所以,当我匹配realMethod 属性时,我应该使用在INFO 级别记录的appender OneMethodFileAppender;在所有其他情况下,我应该使用在 ERROR 级别记录的 appender WebsiteFileAppender。

我有不同的输出。 1. 当我匹配xxx 方法时,一切正常。我的意思是正确日志中的 INFO 级别的日志。 2.但是当我不匹配xxx的方法时,我在INFO级别登录了两个文件。

【问题讨论】:

    标签: log4net appender log-level


    【解决方案1】:

    我建议使用 logger 元素来配置您的日志记录:

    <log4net>
      <appender name="OneMethodFileAppender" type="log4net.Appender.RollingFileAppender">
        ...
      </appender>
    
      <appender name="WebsiteFileAppender" type="log4net.Appender.RollingFileAppender">
        ...
      </appender>
    
      <root>
        <appender-ref ref="WebsiteFileAppender">
          <threshold value="ERROR" />
        </appender-ref>
      </root>
      <logger name="LoggerName1">
        <level value="INFO" />
        <appender-ref ref="WebsiteFileAppender" />
       </logger>
       <logger name="LoggerName2">
        <level value="INFO" />
        <appender-ref ref="OneMethodFileAppender" />
       </logger>
    </log4net>
    

    这两种方法都应该有自己的记录器:

    logger = LogManager.GetLogger("logger1");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-21
      • 2016-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多