Searching Recent Event Logs with C#

Hi guys,

Today I was looking into event log searching. I run a script that does a chkdsk on reboot but then when the machine boots I want to see the log from that report.

To do this, I search the registry for the most recent event within a certain time period (I choose 1 day). We can use Linq to make the filtering quite easy.

EventLog el = new EventLog();
el.Log = log;
el.MachineName = ".";

try
{
var result = (from EventLogEntry elog in el.Entries
where (elog.TimeGenerated >= DateTime.Now - new TimeSpan(days, 0, 0, 0))
&& (elog.Source.ToString().Equals(source))
&& (elog.EventID == id)
orderby elog.TimeGenerated descending
select elog).First();
Console.WriteLine(result.Message);
}
catch (InvalidOperationException)
{
Console.WriteLine("No results found. ");
}

Cheers to StackOverflow for the basis of this code.