我希望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