2

我正在尝试从 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();
}

是否可以在不循环访问的情况下查询给定数量的事件?

4

0 回答 0