我正在使用log4net,并希望将日志文件保存在Win XP / Vista等操作系统的AppData文件中。
这是我的app.config文件,我已经指定了名称为softphone.log。但是,我不知道如何指定完整路径到该文件,因为每个用户的路径都不同,取决于他们的用户名。
<log4net>
<logger name="default">
<level value="DEBUG"/>
</logger>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="softphone.log"/>
<appendToFile value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackup value="10"/>
<maximumFileSize value="1MB"/>
<staticLogFileName value="true"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n"/>
</layout>
</appender>
</log4net>
在我的源代码中,我可以通过以下方式获取路径:
System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
然而,我不能在我的app.config中使用上述内容,如果我在我的系统上硬编码路径,则路径将是:
C:\Documents and Settings\John\Application Data
然而,每个客户端的情况都是不同的。那么有没有一种方法可以针对app.config文件做到这一点呢?
非常感谢任何建议,