Я знаю, что этот вопрос давно устарел, но сегодня я потратил много времени на его решение, поэтому подумал, что поделюсь:
Dim myEventLogEntryCollection As EventLogEntryCollection = New EventLog("Application", System.Environment.MachineName).Entries
Dim myEventLogEntryArray(myEventLogEntryCollection.Count - 1) As EventLogEntry
myEventLogEntryCollection.CopyTo(myEventLogEntryArray, 0)
Dim QueryLog As System.Linq.IQueryable(Of EventLogEntry) = myEventLogEntryArray.AsQueryable
QueryLog = QueryLog.Where(Function(i As EventLogEntry) i.Source = "MyParticularSourceName")
For Each Entry As EventLogEntry In QueryLog
'... your code goes here
Next
myEventLogEntryCollection = Nothing
myEventLogEntryArray = Nothing
Надеюсь, это поможет другим!