2011-04-04 102 views
2

我一直致力于在Windows 7操作系统上使用Visual Studio 2010的Web应用程序。Windows Server 2003上的Log4Net

我用Log4Net登录事件查看器,结果很好,这意味着我的Windows 7事件查看器中的所有内容都正确登录。

Windows Server 2003的计算机上安装此相同的项目后,我注意到,没有获取的记录......

我已经添加了ASPNET上Administrators组在Windows Server 2003机器,但仍是问题仍然存在...

在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 log = LogManager.GetLogger(“MyLogger”); ...

我已经创建的MyLog键值:

HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\事件日志

但尽管如此,没有被记录在那里。

我100%肯定这百分之完美的作品在Windows 7

我需要让Windows Server 2003上一些oyher特殊配置?

在此先感谢

+0

1.您是否正在使用INFO级别或以上来检查您的代码? 2. FileAppender工作正常吗? 3.你可以使用log4net + eventlogappender创建一个控制台应用程序并在win-2003服务器上测试它(这是为了隔离权限问题)? – 2011-04-08 09:00:51

回答

1

嗯......

事实证明我也只好放弃网络服务完全权限到以下项:

HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\ Eventlog

Voila

相关问题