以非管理员用户身份运行的进程无权写入程序文件文件夹。配置log4net以写入非管理员用户有权访问的位置的最佳方法是什么?
理想情况下会有:
相关问题:
答案 0 :(得分:3)
为什么不能只将log4net配置为写入您具有适当访问权限的文件夹中的文件?您可以使用FileAppender执行此操作:
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="c:/path/log-file.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
以上摘自here。从同一页面:
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="${TMP}\log-file.txt" />
<appendToFile value="true" />
<encoding value="unicodeFFFE" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
您可以使用环境变量来设置文件的路径。