如何使用c#从EventViewer日志中获取最新的错误详细信息?

时间:2016-09-19 11:00:47

标签: c# .net event-viewer

我正在使用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);
            }
       }
     }

这是我的主要功能,我在应用程序日志中收到特定错误的错误消息,并且我在文本文件中打印错误消息。因此,我没有使用datetime访问错误,而是想访问日志文件中的最新错误。如何在日志文件中获取最后输入的错误?提前感谢。

1 个答案:

答案 0 :(得分:1)

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;
    }
}