我正在尝试使用事件日志来编写一些调试信息,但我无法使其工作。它抱怨无法找到事件源。我是否必须在操作系统上安装一些东西?

有帮助吗?

解决方案

这是我从我们的一个应用程序修改的代码。这可能会帮助您从创建开始。

System.Diagnostics.EventLog eventLog1 = new System.Diagnostics.EventLog();
string eventLogName = "StackOverFlowEventName";
string eventLogSource = "StackOverFlowWebsite";

//This code HERE will create the Event for you
if (!System.Diagnostics.EventLog.SourceExists(eventLogSource))
{
    System.Diagnostics.EventLog.CreateEventSource(eventLogSource, eventLogName);
}

eventLog1.Source = eventLogSource;
eventLog1.Log = eventLogName;
eventLog1.WriteEntry("This is a test");

其他提示

您目前在项目中使用了哪些代码?我目前正在使用此行写入事件日志。

System.Diagnostics.EventLog.WriteEntry(assemblyName, "Error stuff", System.Diagnostics.EventLogEntryType.Error);

但请注意,如果日志文件已满,则会抛出异常

您也可以直接进入注册表并添加使其工作所需的值,或者您可以在解决方案中添加一个项目,该项目只包含一个将为您创建EventLog条目的InstallerClass,当您运行它时创建

MSDN Link
InstallerClass Link

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top