通过log4net写日志_代码正常运行,日志未写入

使用步骤。

首先网上去下载log4net的dll文件,然后引入到项目中。

其次,在config文件中配置log4net节点:

1)在<configSections>中加入<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler" />节点。

2)在紧跟着<configSections>节点后加入:

<log4net>
  <appender name="ReportServiceLogsFileAppender" type="log4net.Appender.FileAppender,log4net">
   <param name="File" value="c:\logs\cusv3\ReportServiceLogs.txt"/>
   <param name="AppendToFile" value="true"/>
   <layout type="log4net.Layout.PatternLayout,log4net">
    <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n"/>
   </layout>
  </appender>
  <appender name="LogFileAppender" type="log4net.Appender.FileAppender,log4net">
   <param name="File" value="C:\\logs\\cusv3\\log.txt"/>
   <param name="AppendToFile" value="true"/>
   <layout type="log4net.Layout.PatternLayout,log4net">
    <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/>
   </layout>
  </appender>
  <root>
   <priority value="ALL"/>
   <level value="DEBUG"/>
   <appender-ref ref="LogFileAppender"/>
  </root>
  <logger name="ReportServiceLogs">
   <level value="INFO"/>
   <appender-ref ref="ReportServiceLogsFileAppender" />
  </logger>
 </log4net>

到此配置工作就完成了,下面是code部分。

先在一个common类中写一个静态的方法,返回一个Logger如:

public static log4net.ILog ExceptionServiceLogs() {

   return log4net.LogManager.GetLogger(“ExceptionLogs”);

  }

你也可以不用这样写,直接在你需要的地方用log4net.LogManager.GetLogger(“ExceptionLogs”);也可以,这根据个人习惯就可以了。

然后在你程序中捕获异常的地方加入写log的code就可以了,如:

try {

      //your logic code

 } catch (Exception ex) {

    log4net.ILog reportServiceLogs = common.ExceptionServiceLogs();
    reportServiceLogs.Error("Error Information...", ex);

    throw ex;

   }


调用过程中,单步跟踪代码,没有发现异常,但是没有正确生成日志文件:

最后检查发现,在公共调用类中没有执行加载配置信息:

log4net.Config.XmlConfigurator.Configure();



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值