当前位置:首页 > Windows程序 > 正文

[转]C#使用Log4Net记录日志

2021-05-25 Windows程序

第一步:下载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的配置文件内容如下

<?xml version="1.0"?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <log4net> <!--定义输出到文件中--> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <!--定义文件存放位置--> <file value="log\\"/> <appendToFile value="true"/> <rollingStyle value="Date"/> <datePattern value="yyyy\\yyyyMM\\yyyyMMdd‘.txt‘"/> <staticLogFileName value="false"/> <param name="MaxSizeRollBackups" value="100"/> <layout type="log4net.Layout.PatternLayout"> <!--每条日志末尾的文字说明--> <!--输出格式--> <!--样例:2008-03-26 13:42:32,111 [10] INFO Log4NetDemo.MainClass [(null)] - info--> <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别: %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/> </layout> </appender> <root> <level value="ERROR"/> <!--文件形式记录日志--> <appender-ref ref="RollingLogFileAppender"/> </root> </log4net> </configuration>

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

Log4Net使用详解转载周公

Log4Net使用详解续转载周公

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

using System; using System.Collections.Generic; using System.Linq; using System.Text; [assembly: log4net.Config.XmlConfigurator(Watch = true)] namespace TestLog4Net { public class LogHelper { /// <summary> /// 输出日志到Log4Net /// </summary> /// <param></param> /// <param></param> #region
     static void WriteLog(Type t, Exception ex) public static void WriteLog(Type t, Exception ex) { log4net.ILog log = log4net.LogManager.GetLogger(t); log.Error("Error", ex); } #endregion /// <summary> /// 输出日志到Log4Net /// </summary> /// <param></param> /// <param></param> #region static void WriteLog(Type t, string msg) public static void WriteLog(Type t, string msg) { log4net.ILog log = log4net.LogManager.GetLogger(t); log.Error(msg); } #endregion } }

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

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

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

技术分享

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

技术分享

技术分享

将目标框架默认的.NET Framework4 Client Profile修改为.NET Framework4之后再重新生成解决方案就行了。

第三步:测试Log4Net

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

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/71184.html