首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> .NET 實例教學

log4net 快速入門:XML 設定檔與程式碼整合完整範例

     編輯:.NET 實例教學

1. 加入參考

專案右鍵 → 加入參考 → 瀏覽選取 log4net.dll。

2. 新增設定檔 log4net.config (置於專案根目錄,設定「複製到輸出目錄」為「永遠複製」)

<?xml version="1.0" encoding="utf-8"?>
<log4net>
  <root>
    <level value="INFO" />
    <appender-ref ref="FileAppender" />
  </root>

  <appender name="FileAppender" type="log4net.Appender.FileAppender">
    <param name="File" value="log.txt" />
    <param name="AppendToFile" value="true" />
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%-5level %date %logger - %message%newline" />
    </layout>
    <filter type="log4net.Filter.LevelRangeFilter">
      <param name="LevelMin" value="DEBUG" />
      <param name="LevelMax" value="INFO" />
    </filter>
  </appender>

  <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
    <layout type="log4net.Layout.PatternLayout">
      <param name="ConversionPattern" value="%date [%thread] %-5level %logger - %message%newline" />
    </layout>
  </appender>
</log4net>

3. 註冊設定檔 (在 AssemblyInfo.cs 中)

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
  • Watch = true:啟用檔案監視,修改設定檔自動重載,無需重啟應用程式。

4. 程式碼中使用

using log4net;
using System.Reflection;

public class MyService {
    // 靜態唯讀 logger,效能最佳
    private static readonly ILog _log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

    public void BackupData() {
        _log.Info("開始備份資料...");
        try {
            // 備份邏輯...
            _log.Info("備份完成。");
        } catch (Exception ex) {
            _log.Error("備份失敗", ex);
        }
    }
}

5. 常見等級 (由低到高)

DEBUG < INFO < WARN < ERROR < FATAL

6. 進階:多 Appender 同時啟用

在 <root> 加入多個 <appender-ref>,即可同時寫入檔案、輸出主控台、發送郵件、寫入資料庫等。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved