ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-02-08 15:34:54  阅读:173  来源: 互联网

标签:log4net log4Net 配置文件 Config 配置 日志 XmlConfigurator config


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

 

转载于:https://www.cnblogs.com/bindot/p/log4net.html

标签:log4net,log4Net,配置文件,Config,配置,日志,XmlConfigurator,config
来源: https://www.cnblogs.com/akxmhd/p/15871382.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有