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

 

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值