2011-02-16 27 views
0

我在我的軟件中使用log4net日誌記錄,該軟件由多個應用程序組成。 我想爲此擁有一個公共庫。 我創建了一個庫,並將其放入conficuration文件中。在AssemblyInfo.cs中放置屬性: log4net.Config.XmlConfigurator(ConfigFile = @「c:\ logging.xml」,Watch = true)在複雜軟件中使用log4net

它適用於windows服務,但在dosn't工作的asp.net應用。 它在asp.net中工作,如果從公共庫中刪除屬性並放入global.asax。但是,這導致log4net配置的那部分必須在windows服務中進行。

還有一個業務流程,導致我們的圖書館通過 remoting。我希望伐木工作也在那裏進行。

有沒有辦法解決這個問題?

回答

1

在我看來,庫不應該定義配置文件的位置。也許更好的主意是有一個幫助方法,可以讓你快速配置log4net;該方法會爲配置文件路徑添加一個可選參數,並嘗試首先從指定的路徑加載配置文件,如果該方法無法工作,則回退到某些可能是當前文件夾,應用程序文件夾甚至web/app.config 。

如果您堅持認爲它必須是絕對路徑,那麼您需要爲IIS應用程序池用戶提供對此文件的讀取權限。這樣配置屬性應該適用於服務和ASP.Net應用程序。我不明白「重新安裝」的含義。

+0

並給IIS應用程序池的用戶寫入權限,日誌文 – k3b 2011-02-16 12:43:37