我希望log4net將日誌文件(使用RollingFileAppender)寫入公共應用程序數據文件夾的子文件夾(例如C:\ Documents and Settings \ All Users \ Application Data \ Company \ Product \ Logs)。
但是,在Win XP上,沒有指定此文件夾的環境變量。我們有%ALLUSERSPROFILE%
,我們有%APPDATA%
,但沒有什麼像%ALLUSERSAPPDATA%
。
編程方式,我可以使用Environment.SpecialFolder.CommonApplicationData
,但我需要把它的log4net的配置,這樣的事情:如何爲log4net指定通用應用程序數據文件夾?
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="%ALLUSERSAPPDATA%\Company\Product\Logs\error.log" />
</appender>
OK,我們可以在我們的設置中定義了這一點,但也許有人想出了一個更好的主意?
請更正問題標題拼寫「特定」 – 2011-01-11 18:43:58
根據@ codeulike的答案中的鏈接,從1.2開始。11,你可以簡單地使用PatternString表達式,如[`%envFolderPath {CommonApplicationData}`](http://stackoverflow.com/questions/1535736/log4net-how-can-i-change-the-file-location-programmatically- C/1535998#1535998)。 – Ashe 2014-08-08 04:55:14