文章出處

不管用什么框架,學什么東西,最初的想法還不是盡快地用上這個框架,所以我們在這個章節還是不打算介紹具體配置節的應用,而是直接給出一個經典的使用樣例,讓你盡快上手。即使你對Log4Net的配置不熟悉也完全沒有關系。

(下面的文章假定你已經看過了第一篇,當然在有的操作中,我還是會簡單地重復第一篇,以便加深你的記憶)

先說說這篇教程的思路,我們打算使用Log4Net,首先必須先引入Log4Net的庫;然后我們要對Log4Net進行一些配置;最后,我們會在代碼里面使用它。

1、引入Log4Net.dll組件→見第一篇

2、自定義Log4Net配置文件的引入

與第一篇不同的是,我們將不再App.config或Web.config(應用程序配置文件)中配置Log4Net文件了,我們打算在App.config中配置少許的必要信息,然后將具體的配置信息在一個XML文件中配置Log4Net這樣的話,不會讓App.Config太過于臃腫,它的可移植性也會更好。

   2.1 我們將log4net.config文件引入到項目中,同時讓它復制到輸出目錄。因為log4net框架會在相對于AppDomain.CurrentDomain.BaseDirectory 屬性定義的目錄路徑下查找配置文件。框架在配置文件里要查找的唯一標識是<log4net>標簽。(log4net.config可以在文章末尾下載)

image

跟文章(一)比起來,我們的App.config文件現在就清爽多了image

     2.2 在文章(一)中,我們沒有指定具體使用什么文件,Log4Net自動幫我們選擇使用app.config文件了,現在我們有了自己的配置文件,自然需要指定一下使用哪一個配置文件,不能再讓Log4Net幫我們自動選擇了。我們只需要在AssemblyInfo.cs文件中寫一句話指定使用哪個配置文件即可。

[assembly: log4net.Config.XmlConfigurator( ConfigFile="log4net.config", ConfigFileExtension = "config", Watch = true)]

3.在代碼中使用Log4Net

我封裝了一個類叫LogHelper,里面的兩個logger類,分別對應在Log4Net.config中的兩個Logger。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;


namespace Common
{
    public class LogHelper  
    {
        public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");

        public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");

        public static void WriteLog(string info)
        {
            
            if (loginfo.IsInfoEnabled)
            {
                loginfo.Info(info);
            }
        }

        public static void WriteLog(string info, Exception se)
        {
            if (logerror.IsErrorEnabled)
            {
                logerror.Error(info, se);
            }
        }  
    }
}

像文章(一)一樣,我們建立一個winform程序,添加一個按鈕,在按鈕中寫入如下的點擊事件。

image

4、運行效果

日志文件在“程序的輸出目錄(就是Debug文件夾)\Log\LogInfo”

image

 

小提示

在文章中的log4net.config文件可以在示例程序中找到。

示例程序下載


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()