2011-05-05 109 views
6

既然你有何時配置Log4Net?

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)] 
在AssemblyInfo.cs文件

,用於當log4net的?它是在應用程序啓動時還是第一次使用記錄器時?

回答

7

當您調用LoggerManager類時會使用配置文件。這通常是由調用LogManager.GetLogger引起的。

查看http://logging.apache.org/log4net/release/sdk/log4net.Config.XmlConfiguratorAttribute.html瞭解更多詳情;具體說明:

Log4net只會查找程序集配置 級配置屬性一次。 當使用log4net的裝配水平 屬性來控制的log4net的,你必須 確保任何的 的LoggerManager方法的第一個電話是從 作出的裝配與配置 屬性 配置。

3

從Apache log4net的網站引述:

因此,如果您使用的配置屬性,您必須調用log4net的,以允許其讀取屬性。對LogManager.GetLogger的簡單調用將導致調用程序集上的屬性被讀取和處理。因此,在應用程序啓動期間儘可能早地進行日誌記錄調用是必要的,當然,在加載和調用任何外部程序集之前也是如此。 http://logging.apache.org/log4net/release/manual/configuration.html

下面是關於如何確保配置設置並正常運行的好文章: http://www.fooji.net/blog/post/2010/04/27/logging-log4net-e28093-part-iii.aspx

基本上,你需要要麼使一個記錄通話(如果它不是其配置log4net的已經配置)或利用DOMConfigurator手動配置log4net。

+0

第二個鏈接已損壞。 – codea 2015-08-22 09:34:16