2

我一直在使用 Windows 7 操作系统上的 Visual Studio 2010 开发 Web 应用程序。

我使用 Log4Net 登录事件查看器,效果很好,这意味着一切都正确记录在我的 Windows 7 事件查看器上。

在 Windows Server 2003 机器上安装同一个项目后,我注意到没有任何记录...

我已经在 Windows Server 2003 机器的管理员组上添加了 ASPNET,但问题仍然存在......

在 AssemblyInfo.cs 文件中,我添加了:

[程序集:log4net.Config.XmlConfigurator()]

在 Web.config 文件中,我添加了:

... ...
-->

<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
  <param name="LogName" value="MyLog" />
  <param name="ApplicationName" value="MyApplication" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
  </layout>
</appender>

<!-- Setup the root category, add the appenders and set the default level -->
<root>
  <level value="INFO" />
  <appender-ref ref="ConsoleAppender" />
</root>
<!-- ApplicationKit category - the presentation UI -->
<logger name="MyLogger">
  <level value="INFO" />
  <appender-ref ref="FileAppender" />
  <appender-ref ref="EventLogAppender" />
</logger>

最后是后面的代码:

... log4net.Config.XmlConfigurator.Configure(); ilog 日志 = LogManager.GetLogger("MyLogger"); ...

我已经在以下位置创建了 MyLog 键值:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog

但是,那里仍然没有记录任何内容。

我 100% 确定这在 Windows 7 上完美运行。

我是否需要在 Windows Server 2003 上进行一些特殊配置?

提前致谢

4

1 回答 1

1

出色地...

事实证明,我还必须授予 NETWORK SERVICE 对以下密钥的完全权限:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog

于 2011-04-11T09:24:15.253 回答