Windows イベント ログから特定のレベルの最後の N イベントを抽出しようとしています。MSDN ページ ( http://msdn.microsoft.com/en-us/library/bb671200.aspx ) の後、次の解決策を思いつきました (これは機能します)。
List<string> records = new List<string>();
string queryString = string.Format("*[System/Level={0}]", level);
EventLogQuery eventsQuery = new EventLogQuery(eventLogLocation, PathType.FilePath, queryString);
eventsQuery.ReverseDirection = true;
var reader = new EventLogReader(eventsQuery);
var record = reader.ReadEvent();
while (record != null && numRecords > 0)
{
records.Add(record.FormatDescription());
record = reader.ReadEvent();
}
ループ内で実行せずに、指定された数のイベントを照会することは可能ですか?