我有一个使用log4net的程序.它直接记录在exe文件夹中.
现在,当使用Windows> XP(Vista,Seven)传递到工作站时,我发现日志并不总是被创建,因为我想用户权限和其他安全性...
我可以将日志重定向到用户文件夹吗?说
\\ 用户名\MyProgram\Logs
mol*_*anu 19
示例config.xml:
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<file value="${USERPROFILE}\MyProgramName\Logs\rolling-log-" />
<appendToFile value="true" />
<maxSizeRollBackups value="5" />
<maximumFileSize value="100KB" />
<rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd.'log'" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<header value="[Log opening] " />
<footer value="[Log closing] " />
<conversionPattern value="%date %-5level %logger - %message%newline" />
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
注释${USERPROFILE}环境变量.
小智 11
而不是${USERPROFILE}(见Moldovanu的回答)你可以使用${LOCALAPPDATA}或${APPDATA}.这会将您的日志文件写入用户AppData文件夹(本地或漫游子文件夹).
是的,您可以更改默认日志文件位置。在配置中更改file value设置。下面将文件放在 C 的根目录中:
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file value="c:\\log-file.txt"/>
Run Code Online (Sandbox Code Playgroud)
您甚至可以使用环境变量,以下使用名为 TMP 的环境变量:
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="${TMP}\log-file.txt" />
<appendToFile value="true" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9503 次 |
| 最近记录: |