事件日志代码错误无法找到事件源?

Posted

技术标签:

【中文标题】事件日志代码错误无法找到事件源?【英文标题】:Event log code error not being able to find the Event Source? 【发布时间】:2008-11-14 19:51:05 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

System.Diagnostics.EventLog eventLog1 = new System.Diagnostics.EventLog();
string eventLogName = "***EventName";
string eventLogSource = "***Website";

//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");

【讨论】:

请记住,运行创建事件源的代码行需要的权限比简单地写入创建事件源所需的权限略高。因此,如果这是在网站上,例如,您可能希望部署包创建事件源 4 u【参考方案2】:

您目前在项目中使用什么代码?我目前正在使用这一行来写入事件日志。

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

但请注意,如果日志文件已满,这将引发异常

【讨论】:

【参考方案3】:

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

MSDN Link InstallerClass Link

【讨论】:

以上是关于事件日志代码错误无法找到事件源?的主要内容,如果未能解决你的问题,请参考以下文章

找不到源,但无法搜索部分或全部事件日志

System.Security.SecurityException:找不到源,但无法搜索部分或全部事件日志。无法访问的日志:安全性

无法打开源“Microsoft.Practices.EnterpriseLibrary.Data”的日志。读取/写入事件日志时,您可能没有写入权限

如何对事件日志中的 .NET 2.0 错误报告消息进行故障排除?

ASP.Net Core 1 日志记录错误 - 找不到来自源应用程序的事件 ID xxxx 的描述

控制台中EventLog实现事件日志操作