读取EventLog C#错误

时间:2010-04-13 21:48:44

标签: c# asp.net event-log

我在用C#编写的ASP.NET应用程序中有这个代码,它试图读取事件日志,但它返回错误。

EventLog aLog = new EventLog();
aLog.Log = "Application";
aLog.MachineName = ".";  // Local machine

foreach (EventLogEntry entry in aLog.Entries)
{
 if (entry.Source.Equals("tvNZB"))
     Label_log.Text += "<p>" + entry.Message;
}

它返回的一个条目是“找不到源'tvNZB'中事件ID'0'的描述。本地计算机可能没有必要的注册表信息或消息DLL文件来显示消息,或者你可能没有访问权限。以下信息是事件的一部分:'服务已成功启动。'“

我只想要'服务成功启动'。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

试试这个:)

        EventLog aLog = new EventLog();
        aLog.Log = "Application";
        aLog.MachineName = ".";  // Local machine

        string message = "\'Service started\'";

        foreach (EventLogEntry entry in aLog.Entries)
        {
            if (entry.Source.Equals("tvNZB")
             && entry.EntryType == EventLogEntryType.Information)
            {
                if (entry.Message.EndsWith(message))
                {
                    Console.Out.WriteLine("> " + entry.Message);
                    //do stuff
                }
            }
        }

适用于Win XP主页。另一个操作系统上的消息可能不同。 最佳方式:按entry.Message转储System.Diagnostics.Trace.Write并查看确切的消息。

希望它顺利运作:)