log4net记录日志

记录一个简单的加法案例:
第一步下载log4net
下载地址:http://logging.apache.org/log4net/download_log4net.cgi
同时我们的Blend for Visual Studio 工具中也可以下载,右击解决方案,点击管理解决方案的NuGet 程序包,打开NuGet程序包管理器,搜索Log4net进行下载.
第二步应用Log4net
1.在form窗体项目中添加引用将下载的文件夹中的lod4net.all文件添加到引用中,如图
在这里插入图片描述

2.配置log4net,App.config,

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>
  <!--类库-->
  <log4net>
    <!--类:名字叫ErrorLog    证明这个类要用来记录错误信息-->
    <logger name="ErrorLog">
       <!--设置这个类的等级是最低-->
      <level value="ALL"/><!--OFF、FATAL、ERROR、WARN 、INFO、DEBUG、ALL-->
      <!--设置这个引用-->
      <appender-ref ref="AppenderError"/> 
    </logger>
    <!--类:名字叫InforLog    证明这个类要用来记录普通信息-->
    <logger name="InforLog">
      <level  value="ALL"/>
      <appender-ref ref="AppenderInfor"/>
    </logger>
    <!--提供记录错误信息的类中对错误信息的记录方式,记录方式是将信息日志写进一个文件中-->
    <appender name="AppenderError" type="log4net.Appender.RollingFileAppender">
      <!--设置文件存储的位置-->
      <param  name="File" value="Log\\Error\\"/>
      <param name="MaxSizeRollBackups" value="100" />
      <!--是否追加到文件-->
      <param name="AppendToFile" value="true"/>
      <!--当个日志文件的最大大小-->
      <param name="MaxFileSize" value="1024" />
      <!--是否使用静态文件名-->
      <param name="StaticLogFileName" value="false" />
      <!--日志文件名-->
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <!--文件创建的方式,这里是以Date方式创建  size  Composite-->
      <param name="RollingStyle" value="Date" />
      <!--记录日志信息的格式-->
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n异常时间:%d %n异常级别:%-5p%n异常内容:%m%n" />
      </layout>
    </appender>
    <appender name="AppenderInfor" type="log4net.Appender.RollingFileAppender">
      <!--设置文件存储的位置-->
      <param  name="File" value="Log\\LogInfo\\"/>
      <param name="MaxSizeRollBackups" value="100" />
      <!--是否追加到文件-->
      <param name="AppendToFile" value="true"/>
      <!--当个日志文件的最大大小-->
      <param name="MaxFileSize" value="1024" />
      <!--是否使用静态文件名-->
      <param name="StaticLogFileName" value="false" />
      <!--日志文件名-->
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <!--文件创建的方式,这里是以Date方式创建  size  Composite-->
      <param name="RollingStyle" value="Date" />
      <!--记录日志信息的格式-->
      <layout type="log4net.Layout.PatternLayout">
       <param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p  %n日志内容:%m%n%n" />
      </layout>
    </appender>
  </log4net>
</configuration>

3.新建一个Class帮助类,为LoggHelper.cs,类的内容

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using log4net;
using System.IO;

namespace _01计算器log4net
{
    /// <summary>
    /// 记录日志的类
    /// </summary>
    public static  class LoggHelper
    {
        public static ILog logError = LogManager.GetLogger("ErrorLog");

        public static ILog logInfor = LogManager.GetLogger("InforLog");
        public static void WriteLog(string infor, Exception ex)
        {
            if (logError.IsErrorEnabled)
            {
                logError.Error(infor, ex);
            }
        }

        public static void WriteLog(string infor)
        {
            if (logInfor.IsInfoEnabled)
            {
                logInfor.Info(infor);
            }
        }
    }
}

4.在AssemblyInfo.cs下添加一句
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = “config”, Watch = true)]
第三步测试Log4net
窗体设计:
在这里插入图片描述
在button按钮添加点击事件,Form1.cs如图

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace _01计算器log4net
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                int i = int.Parse(textBox1.Text);
                int j = int.Parse(textBox2.Text);
                textBox3.Text = (i + j).ToString();
                LoggHelper.WriteLog("正常日志记录!"+i+"+"+j+"="+textBox3.Text);
                
            }
            catch (Exception ex)
            {
                textBox1.Text = "";
                textBox2.Text = "";
                textBox3.Text = "";
                MessageBox.Show("请正确输入数字格式!");
                LoggHelper.WriteLog("错误日志记录!", ex);
            }
        }
    }
}

运行项目点击button按钮,日志结果在Debug文件夹下新建了Log文件夹,Log文件夹下Error里记录错误日志,LogInfo记录正常日志如图六图七
在这里插入图片描述
在这里插入图片描述
看到这个文件说明log4net.dll的应用成功.

Log4Net使用详解听这位大神给你分析,比较详细,网址:http://www.cnblogs.com/LiZhiW/p/4317198.html

posted on 2019-02-16 22:19  豆皮没有豆  阅读(261)  评论(0)    收藏  举报