log4net(c#) 配置及使用

1. 首先從apache網站下載log4net, http://logging.apache.org/log4net/download_log4net.cgi 。我下的是最新版本 log4net-1.2.11-bin-newkey

2. 將 \bin\net\4.0\release\log4net.dll 複製到你的項目中 。

3. 將log4net.dll 添加引用到你的項目中。

4. 添加如下內容到 assemblyinfo.cs。

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

注意: ConfigFile 可以指定相對路徑 和 絕對路徑。 eg: /log/xxxx.log  或者 d://log//xxxx.log

5.在項目中創建一個新的log4net的配置文件Log4Net.config。

<?xml version="1.0" encoding="utf-8" ?>  
<configuration>  
  <configSections>  
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />  
  </configSections>  
  
   <log4net debug="true">  
      <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">  
        <file value="applicationLog.log" /><!--file可以指定具體的路徑 eg : d:\\test.log。不指定的話log被生成在項目的bin/Debug 或者 bin/Release目錄下 (web的項目 默認生成在根目錄下)-->  
        <appendToFile value="true" />  
        <rollingStyle value="Size" />  
        <maxSizeRollBackups value="10" /><!--備份log文件的個數最多10個-->  
        <maximumFileSize value="2MB" /><!--每個log文件最大是2M,如果超過2M將重新創建一個新的log文件,並將原來的log文件備份。-->  
        <staticLogFileName value="true" />  
        <layout type="log4net.Layout.PatternLayout"> <!--指定log的格式-->  
          <conversionPattern value="[%date]  %thread -- %-5level -- %logger [%M] -- %message%newline" />  
        </layout>  
      </appender>  
  
      <root>  
        <level value="DEBUG" /><!--指定將此級別及以上的log打印到log文件中-->  
        <appender-ref ref="RollingLogFileAppender" />  
      </root>  
   </log4net>  
</configuration>  

注意:根據第4步的配置,應該把log4net的配置文件放到項目的bin/Debug 或者 bin/Release目錄下,否則會出現找不到配置文件而無法創建logger對象。

(web的項目,直接放在web項目的根目錄下即可)

 

6.在你的類中引入命名空間

using log4net;

7. 在你的類中創建logger 實例

private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);  

8. 運行你的項目,打出的log結果

[2012-06-26 14:14:34,862]  1 -- DEBUG -- LogTest.Program [Main] -- this is the log4net log test.  
[2012-06-26 14:14:34,877]  1 -- INFO  -- LogTest.Program [Main] -- this is the info..........................................  
[2012-06-26 14:14:34,878]  1 -- INFO  -- LogTest.Program [print] -- this method is print()  
[2012-06-26 14:14:34,878]  1 -- ERROR -- LogTest.Program [print] -- error test  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章