Log4Net的使用

转载至http://www.cnblogs.com/wangsaiming/archive/2013/01/11/2856253.htmlhtml

第一步:下载Log4Netapache

           下载地址:http://logging.apache.org/log4net/download_log4net.cgi浏览器

           把下载的  log4net-1.2.11-bin-newkey(也能够下载新版本)解压后,以下图所示:app

         

            双击bin文件夹框架

             

              双击net文件夹,选择针对.NET FramerWork的不一样版本工具

              

             找到相应版本的log4net.dll开发工具

第二步:应用Log4Net测试

          

          一、在项目中添加Log4Net.DLL的引用spa

                开发环境:XP Professional Service Pack3.net

               开发工具:VS2010旗舰版

          新建个WinForm应用程序,效果图以下仅为了简单演示

            

           窗体命名为:FormMain

          把Log4Net.Dll复制到项目的根目录下,而后添加Log4Net的引用

         

 

      添加引用以后

    二、配置Log4Net

       (1)新建一个应用程序配置文件app.config

              

      (2)app.config的配置文件内容以下

       

复制代码
 1 <?xml version="1.0"?>  2 <configuration>  3 <configSections>  4 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>  5 </configSections>  6 <log4net>  7 <!--定义输出到文件中-->  8 <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">  9 <!--定义文件存放位置--> 10 <file value="log\\"/> 11 <appendToFile value="true"/> 12 <rollingStyle value="Date"/> 13 <datePattern value="yyyy\\yyyyMM\\yyyyMMdd'.txt'"/> 14 <staticLogFileName value="false"/> 15 <param name="MaxSizeRollBackups" value="100"/> 16 <layout type="log4net.Layout.PatternLayout"> 17 <!--每条日志末尾的文字说明--> 18 <!--输出格式--> 19 <!--样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info--> 20 <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别: %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/> 21 </layout> 22 </appender> 23 <root> 24 <level value="ERROR"/> 25 <!--文件形式记录日志--> 26 <appender-ref ref="RollingLogFileAppender"/> 27 </root> 28 </log4net> 29 </configuration>
复制代码

 

      

    每一个参数的含义请参考以下连接:

    Log4Net使用详解转载周公

    http://blog.csdn.net/zhoufoxcn/article/details/2220533

   Log4Net使用详解续转载周公

   http://www.cnblogs.com/zhoufoxcn/archive/2010/11/23/2515616.html

(3)新建一个LogHelper帮助类,为了在多个窗体中都进行调用,类内容以下:

  

复制代码
 1 using System;  2 using System.Collections.Generic;  3 using System.Linq;  4 using System.Text;  5  6 [assembly: log4net.Config.XmlConfigurator(Watch = true)]  7 namespace TestLog4Net  8 {  9 public class LogHelper 10  { 11 /// <summary> 12 /// 输出日志到Log4Net 13 /// </summary> 14 /// <param name="t"></param> 15 /// <param name="ex"></param> 16 #region static void WriteLog(Type t, Exception ex) 17 18 public static void WriteLog(Type t, Exception ex) 19  { 20 log4net.ILog log = log4net.LogManager.GetLogger(t); 21 log.Error("Error", ex); 22  } 23 24 #endregion 25 26 /// <summary> 27 /// 输出日志到Log4Net 28 /// </summary> 29 /// <param name="t"></param> 30 /// <param name="msg"></param> 31 #region static void WriteLog(Type t, string msg) 32 33 public static void WriteLog(Type t, string msg) 34  { 35 log4net.ILog log = log4net.LogManager.GetLogger(t); 36  log.Error(msg); 37  } 38 39 #endregion 40 41 42  } 43 }
复制代码

此时生成解决方案,可能会出现以下错误信息:

   未能找到类型或命名空间名称"log4net"(是否缺乏using指令或程序集引用?)解决方法  

   当前上下文中不存在名称"log4net"解决方法

此时可能有的人很纳闷,明明添加了引用怎么还提示找不到命名空间呢。解决这个问题很简单,右键项目选择属性

 

 

 

将目标框架默认的.NET Framework4 Client Profile修改成.NET Framework4以后再从新生成解决方案就好了。

 

第三步:测试Log4Net

 

           在按钮的事件中添加以下的代码

 

复制代码
 1 using System;  2 using System.Collections.Generic;  3 using System.ComponentModel;  4 using System.Data;  5 using System.Drawing;  6 using System.Linq;  7 using System.Text;  8 using System.Windows.Forms;  9 10 namespace TestLog4Net 11 { 12 public partial class FormMain : Form 13  { 14 public FormMain() 15  { 16  InitializeComponent(); 17  } 18 19 private void btnTest_Click(object sender, EventArgs e) 20  { 21 //第一种记录用法 22 //(1)FormMain是类名称 23 //(2)第二个参数是字符串信息 24 LogHelper.WriteLog(typeof(FormMain), "测试Log4Net日志是否写入"); 25 26 27 //第二种记录用法 28 //(1)FormMain是类名称 29 //(2)第二个参数是须要捕捉的异常块 30 //try { 31 32 //}catch(Exception ex){ 33 34 // LogHelper.WriteLog(typeof(FormMain), ex); 35 36 //} 37 38 39  } 40  } 41 }
复制代码

 

 

运行项目点击Button按钮,在项目的根目录下就会看到log文件夹

打开log文件夹就会看到里面以日期命名的文件夹一直打开能够看到以下图

看到这个文件就说明log4net.dll的应用已经成功了。

 

 

备注:文件夹的命名是根据你在app.config里面设置的file节点自动生成的,你能够根据本身的须要本身设置存放的路径和格式等。

       若是部分图片显示不出来,请用Chrome浏览器查看。

      下载log4net测试源码

相关文章
相关标签/搜索