zoukankan      html  css  js  c++  java
  • log4Net不能成功生成日志问题(关于配置错误)

    log4Net不能成功生成日志问题(关于配置错误)

    调试发现问题原因在于  Log4Net IsInfoEnabled 一直为 false,返回的对象中所有 IsXXX 一直为false,这个问题的原因在于配置文件读取失败

    配置方式有两种:

    1、直接在web.config 中配置,可如下 

    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
      </configSections>
    
     
    
    <log4net>
        <!-- 设置日志记录方式 -->
        <appender name="LogFileAppender" type="log4net.Appender.FileAppender, log4net">
          <param name="File" value="D:\Senderlog.txt" />
          <param name="AppendToFile" value="false" />
          <layout type="log4net.Layout.PatternLayout, log4net">
            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n" />
          </layout>
        </appender>
        <!--<appender name="Console"  type="log4net.Appender.ConsoleAppender, log4net">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
          </layout>
        </appender>-->
        <!-- 设置日志记录级别 -->
        <root>
          <priority value="INFO" />
          <appender-ref ref="LogFileAppender" />
        </root>
        <!-- Specify the level for some specific namespaces -->
        <!-- Level can be : ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF -->
        <logger name="Sender" additivity="true">
          <level value="INFO" />
          <appender-ref ref="LogFileAppender" />
        </logger>
      </log4net>
    View Code

    2、直接新建如log4net.config 的配置文件,如下

    <log4net>
        <!-- 设置日志记录方式 -->
        <appender name="LogFileAppender" type="log4net.Appender.FileAppender, log4net">
          <param name="File" value="D:\Senderlog.txt" />
          <param name="AppendToFile" value="false" />
          <layout type="log4net.Layout.PatternLayout, log4net">
            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n" />
          </layout>
        </appender>
        <!--<appender name="Console"  type="log4net.Appender.ConsoleAppender, log4net">
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%5level [%thread] (%file:%line) - %message%newline" />
          </layout>
        </appender>-->
        <!-- 设置日志记录级别 -->
        <root>
          <priority value="INFO" />
          <appender-ref ref="LogFileAppender" />
        </root>
        <!-- Specify the level for some specific namespaces -->
        <!-- Level can be : ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF -->
        <logger name="Sender" additivity="true">
          <level value="INFO" />
          <appender-ref ref="LogFileAppender" />
        </logger>
      </log4net>
    View Code

    这两种配置方法的区别在与读取配置文件

    方法1中读取方式是这样的:

    log4net.Config.XmlConfigurator.Configure();  //这个地方是注册log4net 配置

    或在AssemblyInfo.cs文件中添加

    [assembly: log4net.Config .XmlConfigurator()]

    方法2中则需要指定配置文件

    log4net.Config.XmlConfigurator.Configure("文件信息");  //这个地方是注册log4net 配置,感兴趣的朋友可以根据下图进行相关配置,总之这个地方的效果和其它方法是一样的,目的都是为了加载log4net 中的相关配置信息。

    或在AssemblyInfo.cs文件中添加

    [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
    这句的意思是 找到名称为 log4net.config 的配置文件,不一定是web.config
  • 相关阅读:
    Java学习——字符串
    Java学习——字符串
    【费马小定理+快速幂取模】ACM-ICPC 2018 焦作赛区网络预赛 G. Give Candies
    【费马小定理+快速幂取模】ACM-ICPC 2018 焦作赛区网络预赛 G. Give Candies
    Java学习——Eclipse下载,java配置,新建,输入输出
    Java学习——Eclipse下载,java配置,新建,输入输出
    python使用scikit-learn计算TF-IDF
    scanf,printf函数细节
    UVA 4855 Hyper Box
    poj 2001 Shortest Prefixes(字典树)
  • 原文地址:https://www.cnblogs.com/bindot/p/log4net.html
Copyright © 2011-2022 走看看