2010-04-15 112 views
2

我正在使用Microsoft日誌記錄應用程序塊(版本5測試版2),並試圖將日誌文件的文件名稱動態設置爲年份月份和日期然後每天寫一個新的日誌文件)。但是,在運行時,記錄器會忽略任何動態環境變量,例如%date%,%time%或%cd%。我可以將靜態環境變量添加到文件名(例如%username%),但不能添加動態環境變量。有誰知道如何獲取滾動平面文件跟蹤偵聽器來動態設置日誌文件名中的日期?將日期添加到記錄應用程序塊中的日誌文件名

(這是我設置的文件名如:LOG_%日期%.LOG)

回答

2

我放棄了對日誌記錄應用程序塊,並切換到log4net的。 Log4net允許我使用web.config設置將日誌的名稱設置爲今天的日期。我寫代碼項目的文章,說明如何獲取log4net的使用策略注入應用程序塊here

5

@Robertc工作,我知道這個問題已經被標記,但我想我有一個絕招,你可以用你的下一個項目:使用你自己的環境變量!

E.g. 您對日誌程序塊

Environment.SetEnvironmentVariable("MYDATE", "15/07/2010"); // << change the hardcoded date to get from DateTime 
Debug.WriteLine (Environment.ExpandEnvironmentVariables(@"c:\Log\Log_%MYDATE%.log")); 

任何呼叫在你的app.config之前,在適當的滾動平面文件跟蹤偵聽

FileName=Log_%MYDATE%.log 

注:這招只會如果重新啓動你的工作每日應用。

相關問題