当前位置: 移动技术网 > IT编程>开发语言>.net > .net下log4net使用方法详解

.net下log4net使用方法详解

2017年12月08日  | 移动技术网IT编程  | 我要评论

三句半台词,煽动元素,沈志明自渎

本文实例为大家分享了.net下log4net的使用方法,供大家参考,具体内容如下

这里以控制台应用程序为例

首先是要添加引用: 

安装后可以看到项目中多了log4net的引用: 

添加应用程序配置文件app.config,配置log4net

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <configsections>
 <section name="log4net" type="log4net.config.log4netconfigurationsectionhandler, log4net"/>
 </configsections>
 <log4net>
 <!-- define some output appenders -->
 <appender name="rollinglogfileappender" type="log4net.appender.rollingfileappender">
  <!--日志路径-->
  <file value="test.txt"/>
  <!--是否向文件中追加日志-->
  <appendtofile value="true"/>
  <!--日志保留天数-->
  <maxsizerollbackups value="10"/>
  <!--每个文件的大小。只在混合方式与文件大小方式下使用。超出大小后在所有文件名后自动增加正整数重新命名,数字最大的最早写入。可用的单位:kb|mb|gb。不要使用小数,否则会一直写入当前日志-->
  <maximumfilesize value="1024kb"/>
  <!--按照何种方式产生多个日志文件(日期[date],文件大小[size],混合[composite])-->
  <rollingstyle value="size"/>
  <!--否只写到一个文件中-->
  <staticlogfilename value="true"/>
  <layout type="log4net.layout.patternlayout">
  <!--记录时间:%date 线程id:[%thread] 日志级别:%-5level 记录类:%logger  操作者id:%property{operator} 操作类型:%property{action}%n    当前机器名:%property%n当前机器名及登录用户:%username %n    记录位置:%location%n 消息描述:%property{message}%n     异常:%exception%n 消息:%message%newline%n%n-->
  <conversionpattern value="%date [%thread] %-5level %logger - %message%newline"/>
  </layout>
 </appender>
 <root>
  <level value="debug"/>
  <appender-ref ref="rollinglogfileappender"/>
 </root>
 </log4net>
</configuration>

在program.cs中添加代码:

static void main(string[] args)
{
 log4net.config.xmlconfigurator.configure();
 //创建日志记录组件实例
 ilog log = log4net.logmanager.getlogger(typeof(program));
 //记录错误日志
 log.error("发生了错误:", new exception("log4net的测试错误信息"));
 //记录致命的错误
 log.fatal("发生了致命的错误:", new exception("log4net测试致命信息"));
 //记录一般信息
 log.info("log4net的一般信息");
 //记录调试信息
 log.debug("log4net的调试信息");
 //记录警告信息
 log.warn("log4net警告信息");
 console.writeline("ok");
 console.readkey();
}

运行程序

这里是控制台应用程序 ,如果是web应用程序,可以在global.asax.cs中application_start方法中调用log4net.config.xmlconfigurator.configure();   在global.asax.cs中定义一个变量,并在application_error中获取异常并记录:

public class global : system.web.httpapplication
{
 private static ilog log = logmanager.getlogger(typeof(global));

 protected void application_start(object sender, eventargs e)
 {
  log4net.config.xmlconfigurator.configure();
 }

 protected void session_start(object sender, eventargs e)
 {

 }

 protected void application_beginrequest(object sender, eventargs e)
 {

 }

 protected void application_authenticaterequest(object sender, eventargs e)
 {

 }

 protected void application_error(object sender, eventargs e)
 {
  log.error("发生了异常",server.getlasterror());
 }

 protected void session_end(object sender, eventargs e)
 {

 }

 protected void application_end(object sender, eventargs e)
 {

 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网