2013-01-09 33 views
0

我使用this.Log,我試圖獲取應用程序開始使用以下屬性:XmlConfiguratorAttribute不能使用this.Log和log4net?

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

這似乎並沒有工作,雖然,當我打開log4net的調試,我似乎無法找出原因。我看着this.Log代碼雖然,發現在Log4NetLog.cs文件以下行:

[assembly: XmlConfigurator(Watch = true)] 

難道這是壓倒一切的我自己組裝設置?有沒有辦法讓這個工作?

+1

在你的問題的時候,你意識到XmlConfiguratorAttribute的限制?如果在包含該屬性的程序集中沒有出現第一次使用LoggerManager,則可能不會考慮此屬性。出於這個原因,我非常青睞由sgmoore提出的備用解決方案。 http://logging.apache.org/log4net/release/sdk/log4net.Config.XmlConfiguratorAttribute.html –

+0

真的嗎?這是非常有用的信息。謝謝 –

回答

1

由於您有源代碼,您可以刪除該行並重新編譯。

或者,您也可以覆蓋在運行時,如設置中添加行(無論是你的程序的開始或靜態構造函數)

log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo("Log4net.config"));