0

我的应用程序使用:

  • .NET 4
  • MVC 3
  • 视窗服务器 2008 R2

log4net用来写入事件日志的日志。
我的配置文件如下所示:

<configuration>
  <log4net>
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
      <param name="LogName" value="SomeLogName"/>
      <param name="ApplicationName" value="MyAppName"/>
      <some settings for log4net...>
    </appender>
  <log4net>
</configuration>

当我在我的计算机(本地主机)上运行它时效果很好。
但我无法写入服务器上的事件日志。

4

1 回答 1

0

您应该检查 apppool 用户是否可以完全控制日志目录。他必须拥有创建和更新权限。

启用内部调试:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="log4net.Internal.Debug" value="true"/>
    </appSettings>
</configuration>

或者:

<configuration>
    ...

    <system.diagnostics>
        <trace autoflush="true">
            <listeners>
                <add 
                    name="textWriterTraceListener" 
                    type="System.Diagnostics.TextWriterTraceListener" 
                    initializeData="C:\tmp\log4net.txt" />
            </listeners>
        </trace>
    </system.diagnostics>

    ...
</configuration>

C:\tmp\ 目录必须令人兴奋,您应该让 apppool 用户完全控制该目录。

于 2013-08-07T09:11:19.390 回答