警告级别不显示log4net

时间:2017-03-08 14:56:13

标签: c# xml log4net

我将folloging XML发送到log4net

  <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>
  <log4net>
    <root>
      <level value="ALL" />
      <appender-ref ref="FileAppenderXml" />
    </root>
    <appender name="FileAppenderXml" type="log4net.Appender.RollingFileAppender">
      <file type="log4net.Util.PatternString" value="logs\%date{yyyy}\%date{MM}\%date{yyyyMMdd}.xml"/>
      <appendToFile value="true"/>
      <rollingStyle value="Date" />
      <datePattern value="yyyyMMdd" />
      <layout type="log4net.Layout.XmlLayoutSchemaLog4j">
        <locationInfo value="true"/>
        <conversionPattern value="%date [%thread] %-5level - %message%newline" />
      </layout>
      <param name="Encoding" value="utf-8" />
    </appender>
  </log4net>

使用Yalv我开始检测到应用程序没有生成警告(WARN)事件。我使用4级(INFO,WARN,DEBUG,ERROR),只有WARN类型是未显示的类型。

这是一个摘录:

        switch (typeLog)
        {
            case elogType.infoType:
                log.Info(currentMessage);
                break;

            case elogType.errorType:
                log.Error(currentMessage);
                break;

            case elogType.debugType:
                log.Debug(currentMessage);
                break;

            case elogType.warningType :
                log.Warn(currentMessage);
                break;
        }

可能是某些XML配置还是代码?

1 个答案:

答案 0 :(得分:1)

所以问题似乎是当WARN事件触发但它显示为“INFO”时。

根据documentation:

  

在INFO级别登录时,使用的实际级别不是Info,而是LoggerRepository.LevelMap["INFO"]的值。默认值为Info,但可以通过重新配置关卡映射来更改。

相关问题