博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]C#使用Log4Net记录日志
阅读量:6177 次
发布时间:2019-06-21

本文共 3241 字,大约阅读时间需要 10 分钟。

第一步:下载Log4Net

           下载地址:

           把下载的  log4net-1.2.11-bin-newkey解压后,如下图所示:

          

            双击bin文件夹

              

              双击net文件夹,选择针对.NET FramerWork的不同版本

              

             找到相应版本的log4net.dll

第二步:应用Log4Net

          

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

                开发环境:XP Professional Service Pack3

               开发工具:VS2010旗舰版

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

            

           窗体命名为:FormMain

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

          

 

      添加引用之后

    2、配置Log4Net

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

               

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

       

1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

 

      

    每个参数的含义请参考如下链接:

    Log4Net使用详解转载周公

    

   Log4Net使用详解续转载周公

   

(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 LogHelper10     {11         /// 12         /// 输出日志到Log4Net13         /// 14         /// 15         /// 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         #endregion25 26         /// 27         /// 输出日志到Log4Net28         /// 29         /// 30         /// 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         #endregion40 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 TestLog4Net11 {12     public partial class FormMain : Form13     {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浏览器查看。

     

引文连接:

1、

 

2、

 

你可能感兴趣的文章
很容易学习的JQuery库 : (一) 简介
查看>>
搬家与流式处理
查看>>
syslog协议介绍
查看>>
各种排序算法的总结和比较
查看>>
继承和多态
查看>>
用EJB进行事务管理
查看>>
SQL学习(1)初学实验:SQL Server基本配置及基本操作
查看>>
android手机打开app后再按home键,再次点击程序图标app再次启动欢迎界面的办法...
查看>>
边做边学入门微信小程序之仿豆瓣评分
查看>>
MySQL系列-- 0. 随笔
查看>>
thikjs3.0 学习笔记1
查看>>
Gckit-CLI-代码生成工具
查看>>


Vim安装使用以及一些避坑指南
查看>>
Linux Shell脚本系列之一
查看>>
数据可视化,个人经验总结(Echarts相关)
查看>>
Mysql MAC installation
查看>>
一款基于Vue和Go的桌面端管理star项目应用
查看>>
使用shell创建一个简单的菜单bash select用法
查看>>
Nuxt之默认模版和默认布局
查看>>
Vue模板、JS、CSS分离实现
查看>>