C#(2)-------使用Log4Net记录日志

来源:互联网 发布:农村创业软件 编辑:程序博客网 时间:2024/06/04 18:16

1.下载Log4Net

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


将其解压:


双击bin文件夹——>双击net文件夹——>根据自己的.NET FramerWork选择版本,我用的是4.5


2.在项目中添加Log4Net.dll

开发平台:windows10

开发工具:Microsoft Visual Studio 2015

右击项目中的引用——>添加引用——>浏览——>点击选中版本中的Log4Net.dll——>添加——>点击确定按钮




3.在应用程序配置文件app.config中配置Log4Net,代码如下:

  <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>

4.为了在多个地方都能进行调用,新建一个LogHelper帮助类,代码如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;[assembly: log4net.Config.XmlConfigurator(Watch = true)]namespace TestLog4Net{    class LogHelper    {        #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 name="t"></param>        /// <param name="msg"></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    }}

5.在事件中添加代码,测试Log4Net

LogHelper.WriteLog(typeof(test), IE_Item_No+"测试Log4Net日志是否写入");

运行项目执行这个事件,在项目的log文件夹中可以看到以日期命名的文件夹。


from:C#使用Log4Net记录日志