欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

.net下log4net使用方法详解

程序员文章站 2023-02-15 19:32:10
本文实例为大家分享了.net下log4net的使用方法,供大家参考,具体内容如下 这里以控制台应用程序为例 首先是要添加引用:  安装后可以看到...

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

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

首先是要添加引用: 

.net下log4net使用方法详解

.net下log4net使用方法详解

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

.net下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();
}

运行程序

.net下log4net使用方法详解

这里是控制台应用程序 ,如果是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)
 {

 }
}

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