在事件查看器中写入应用程序日志

时间:2011-05-20 22:57:51

标签: c# event-log

收到此消息3小时后 “找不到源,但无法搜索部分或全部事件日志。无法访问日志:安全性。”

并尝试了几种解决方案,我在这里发帖。是否有简洁的方法从我的localhost上运行的WebService(asmx)写入事件日志?

我按照msdn上的说明进行操作,并使用regedit添加了NETWORK SERVICE,并根据其提供了读取权限 http://social.msdn.microsoft.com/Forums/en-US/windowsgeneraldevelopmentissues/thread/416098a4-4183-4711-a53b-e10966c9801d/

这是我的Web服务中的代码

    string sSource = "MyWebService";
    string sLog = "Application";
    string sEvent = "Sample Event";            

    if (!EventLog.SourceExists(sSource))
        EventLog.CreateEventSource(sSource, sLog);

    EventLog.WriteEntry(sSource, sEvent);
    EventLog.WriteEntry(sSource, sEvent,
        EventLogEntryType.Error, 234);

1 个答案:

答案 0 :(得分:4)

您的Web服务运行的Windows帐户(可能是网络服务或完全不同的东西,具体取决于配置)需要具有“管理审核和安全日志”权限才能创建新的事件日志源。您可以在本地安全策略中分配此权限>地方政策>用户权利分配。