2

以非管理员用户身份运行的进程无权写入程序文件文件夹。将 log4net 配置为写入非管理员用户有权访问的位置的最佳方法是什么?

理想情况下会有:

  • 单个配置文件或代码配置适用于 .NET 支持的所有 MS Windows 版本。
  • 支持 MS Windows 服务
  • 支持 log4net 版本 1.2.0.30714(我们必须使用这个版本)

相关问题:

4

1 回答 1

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>

以上取自这里。从同一页面:

<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>

您可以使用环境变量来设置文件的路径。

于 2009-10-06T08:54:17.167 回答