2010-07-08 71 views
4

我通過大部分有關以編程方式更改日誌目錄的相關主題閱讀,但答案稍微先進。C#Log4Net - 以編程方式動態更改日誌目錄

我的問題是試圖動態更改我的日誌文件從我的C#應用​​程序中保存的位置。我有一個帶有瀏覽按鈕的文本框來選擇它應該保存的位置。

任何人有一個想法,或可以指向我的一些代碼正確的方向嗎?我試着玩類似的想法,但似乎無法做到。

謝謝你的幫助。

傑夫

回答

11

如果你希望你的日誌文件是在一個指定的位置,這將在運行時決定可能是你的項目輸出目錄,那麼你可以配置在這樣的config文件入口的地方

file type="log4net.Util.PatternString" value="%property{LogFileName}.txt" 

,然後呼籲log4net的配置之前的代碼,設置如下圖所示

log4net.GlobalContext.Properties["LogFileName"] = @"E:\file1"; //log file path 
log4net.Config.XmlConfigurator.Configure(); 

所以,如果你的要求改變日誌文件目錄的新路徑ectory如此頻繁地更新,每次更新屬性值後跟着.Configure()

+1

注意:這不是線程安全的。 – Sameer 2015-09-02 04:54:12

+0

並且它在AssemblyInfo.cs中爲log4net定義配置文件時不起作用 – 2017-03-02 08:15:40

相關問題