1. 程式人生 > 程式設計 >Log4net.config配置啟用常用方法彙總

Log4net.config配置啟用常用方法彙總

在上文中,進行了簡單的log4配置搭建,也在實操中啟用了log4net的配置。這裡做了一下總結。

方式一:

  在執行時程式設計配置,程式碼如下:

class Program
  {
    private readonly static ILog log = InitILog();
    //private readonly static ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    public static void Main(string[] args)
    {
      var gp=log4net.LogManager.GetRepository().Configured;
      log.Debug("測試");
      Console.ReadKey();
    }

    public static ILog InitILog() 
    {
      var file = AppDomain.CurrentDomain.BaseDirectory + @"\Config\log4net.config";
      FileInfo info = new FileInfo(file);
      XmlConfigurator.Configure(info);
      return LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    }
  }

在方法InitLog中,通過獲取配置檔案的路徑(配置檔案路徑=應用程式基本目錄+程式集檔名+副檔名),使用FileInfo,Configure讀取配置檔案內容,啟動log4net配置。

方式二:

  assembly-level 配置屬性,看程式碼:

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Config/log4net.config",Watch =true)]namespace SpringNetIOC
{
  class Program
  {
    //private readonly static ILog log = InitILog();
    private readonly static ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
    public static void Main(string[] args)
    {
      var gp=log4net.LogManager.GetRepository().Configured;
      log.Debug("測試");
      Console.ReadKey();
    }

  }
}

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Config/log4net.config",Watch =true)]也可以在Properties/AssemblyInfo.cs== 檔案裡新增,讓程式找到log4net.config檔案。

需要說明一下XmlConfigurator可配置的三個屬性。

  a。ConfigFile 配置檔名和路徑,包括副檔名,檔案相對於程式的根目錄。注意,此屬性不可和ConfigFileExtension 屬性同時使用。

  b。ConfigFileExtension;配置檔案的字尾名,預設預設時'config',此屬性不可和ConfigFile屬性公用。

關於ConfigFileExtension屬性,特此記錄一下,留待後面有了更深入的瞭解,再做回顧。

  c。Watch(bool屬性),如果為true,log4net框架在執行時,監視檔案。如果配置檔案被修改,則重新載入配置檔案。

方式三:

  app.config中的appSettings配置。看程式碼:

<configuration>
  <appSettings>
    <add key="log4net.Config" value="Config/log4net.config"/>
    <add key="log4net.Config.Watch" value="True"/>
  </appSettings>
  <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>

key為lognet.Config會覆蓋assembly XmlConfigurator 配置 中 ConfigFile 指定的值,key為log4net.Config.Watch會覆蓋assembly XmlConfigurator配置中Watch的指定值。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。