我在用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文件来显示消息,或者你可能没有访问权限。以下信息是事件的一部分:'服务已成功启动。'“
我只想要'服务成功启动'。有什么想法吗?
答案 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
并查看确切的消息。
希望它顺利运作:)