如何使用c#从EventViewer日志中获取最新的错误细节?
我正在使用C#代码从eventviewer日志文件中获取特定错误的错误消息。如何使用c#从EventViewer日志中获取最新的错误细节?
static void Main(string[] args)
{
EventLog myLog = new EventLog();
myLog.Log = "Application";
myLog.Source = "Application Error";
foreach (System.Diagnostics.EventLogEntry entry in myLog.Entries)
{
if (entry.TimeGenerated == DateTime.Parse("9/19/2016 11:48:58 AM"))
{
using (StreamWriter writer = File.AppendText("Example.txt"))
{
writer.WriteLine(error_Message);
}
}
}
这是我的主要功能,其中我在我的应用程序日志中获取特定错误的错误消息,我打印的文本文件中的错误消息。因此,我不想使用日期时间访问错误,我想访问日志文件中的最新错误。如何获取日志文件中最后输入的错误?提前致谢。
EventLog myLog = new EventLog();
myLog.Log = "Application";
myLog.Source = "Application Error";
var lastEntry = myLog.Entries[myLog.Entries.Count-1];
var last_error_Message = lastEntry.Message;
for(int index=myLog.Entries.Count-1; index>0;index--)
{
var errLastEntry = myLog.Entries[index];
if (errLastEntry.EntryType == EventLogEntryType.Error)
{
//this is the last entry with Error
var appName = errLastEntry.Source;
break;
}
}
谢谢。答案正常。但在日志文件中,有信息,警告和错误。此代码可以捕获最后一个条目的消息,而不管类型,即警告,信息或错误。即使最后一个条目是警告或信息,我如何才能更改代码以单独捕获最后一条错误消息.'var lastEntry = myLog.Source [myLog.Source.Count - 1];'这样做会工作吗?但它显示我错误 – Vishwaroopa
添加for循环以获取最后一个错误。 –
它对你有用吗? –
没有得到为什么当你想要最后的错误信息时,你正在共同映射时间戳。 –