在啓動時,請撥打:
XmlConfigurator.Configure();
在你的web.config中的appSettings指定log4net.Config:
<add key="log4net.Config" value="Log.config" />
這個特殊的設置允許您更改日誌配置而無需重新編譯。特別有助於在多個環境之間移動。
例
考慮以下的項目文件結構:
\config\log4net\debug.config
\config\log4net\staging.config
\config\log4net\release.config
\config\appSettings\debug.config
\config\appSettings\staging.config
\config\appSettings\release.config
應用和記錄的配置區分的每個環境。日誌配置的引用在應用程序設置中保留。
\設置\的appSettings \ debug.config:
<appSettings>
<add key="log4net.Config" value="config\log4net\debug.config" />
...
</appSettings>
\設置\的appSettings \ staging.config:
<appSettings>
<add key="log4net.Config" value="config\log4net\staging.config" />
...
</appSettings>
\設置\的appSettings \將release.config :
<appSettings>
<add key="log4net.Config" value="config\log4net\release.config" />
...
</appSettings>
更改環境是更新Web.config中的appSettings文件的一個簡單問題。
<appSettings file="config\appSettings\staging.config">
...
</appSettings>
這是一個好點,但我真的不喜歡這個「魔術」配置的東西。 我現在所做的是在Web的appSettings中聲明三個帶有文件名的密鑰。配置Debug,Stage,Release並使用ApplicationStart中的預處理器指令自動選擇正確的一個,具體取決於組件的部署配置。 您的意見是?該解決方案有什麼問題嗎? – 2009-11-13 21:53:59
@Martin:我添加了一個例子來說明。解決方案唯一的缺點是構建版本比web.config更改的靈活性。 – Anton 2009-11-13 22:35:55
thx,爲您的建議! – 2009-11-13 22:39:07