当我使用下面的代码写入应用程序事件日志中,一切工作正常:在C#中写入事件日志 - 写入应用程序日志时是否需要使用EventLog.CreateEventSource?
EventLog log = new EventLog();
log.Source = "Application";
log.WriteEntry("test message", EventLogEntryType.Error);
当我使用从MSDN和所有其他博客的代码,我得到的安全性错误(我猜是因为CreateEventSource引发它)。
string sSource = "MyWebService";
string sLog = "myApplication";
string sMsg = errorMessage;
if (!EventLog.SourceExists(sSource))
EventLog.CreateEventSource(sSource, sLog);
EventLog.WriteEntry(sSource, sMsg, EventLogEntryType.Error);
所以,我需要检查,如果我需要的是写入应用程序日志,这是有默认情况下是否存在源?
什么是写入EventViewer的正确方法?
太好了,谢谢!我只是需要确认。我不需要创建一个单独的源/日志。我其实确实想写入应用程序日志。 – sarsnake
还有一个问题:当我写入通用应用程序源代码时,在事件查看器中查看时收到以下消息:“Event(0)的描述是Source(应用程序)无法找到。本地计算机可能不具有必要的注册表信息或消息DLL文件以显示来自远程计算机的消息“....然后显示我的自定义消息。我想知道是否有可能不显示这个长的默认消息w/o设置源。 – sarsnake
这是因为您的监控计算机没有引用错误消息,将远程计算机事件日志导出为基于文本的CSV文件,并从远程计算机获取所有信息(包括其他人已安装的所有应用程序的错误)。 – user3800527