log4net logger.IsInfoEnabled为true却不写入文件???

log4net logger.IsInfoEnabled为true调试信息却不写入文件???

配置是正确的,详细配置如下:

<log4net>

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

      <file value="log/daily.log" />

      <appendToFile value="true" />

      <rollingStyle value="Composite" />

      <datePattern value="yyyyMMdd" />

      <maxSizeRollBackups value="10" />

      <maximumFileSize value="3MB" />

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%M] - %message%newline" />

      </layout>

    </appender>

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

      <file value="log/sql.log" />

      <appendToFile value="true" />

      <rollingStyle value="Composite" />

      <datePattern value="yyyyMMdd" />

      <maxSizeRollBackups value="20" />

      <maximumFileSize value="5MB" />

      <layout type="log4net.Layout.PatternLayout">

        <conversionPattern value="%date [%thread] %-5level %logger [%M]  - %message%newline" />

      </layout>

    </appender>

    <root>

      <level value="DEBUG" />

      <appender-ref ref="DailyRollingFile" />

    </root>

    <logger name="NHibernate.SQL">

      <appender-ref ref="SQLRollingFile" />

      <level value="DEBUG" />

    </logger>

    <logger name="NHibernate">

      <level value="INFO" />

    </logger>

  </log4net>

 

 

  不知道什么原因,猜测是可能我的VS出问题了吧(其它项目也是一样的配置可以生成调试信息),配置会生成文件,但是不记录调试信息:

只有运行时修改一下这个配置才会生成调试信息,如下

<root>

      <level value="DEBUG" />

      <appender-ref ref="DailyRollingFile" />

</root>

 

将root节点level的value改为ALL,才会生成调试信息,否则生成的调试信息不回写入文件daily.log中。

  已找到不写入文件的原因,是由于引入第三方组件的问题引起的,我的是在配置文件中配置(web.config),第三方组件又把log4net包了一下,不知道肿么就把我的配置给覆盖了。

你可能感兴趣的:(Logger)