我正在使用log4net,并且将日志文件保存在AppData文件中以用于Win XP / Vista等。
到目前为止,这是我的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文件执行此操作?
非常感谢您的任何建议,
用户%appdata%。所以你的代码看起来像-
<file value="%appdata%/softphone.log"/>