繁体   English   中英

读evtx文件太大了

[英]Reading evtx file too big

我正在处理一个大小超过2GB的evtx文件。 在我的C#程序中,如果我做这样的事情

EventLogReader reader = new EventLogReader("*[System/EventRecordID>0]");
for (EventRecord eventInstance = reader.ReadEvent(); eventInstance != null; eventInstance = reader.ReadEvent())
{
    ...
}

for循环永远不会运行因为eventInstance等于null。 我只有大型evtx文件的这个问题。

另一种方法是使用LINQ读取evtx文件,如本文所述https://phejndorf.wordpress.com/2011/03/31/using-c-and-linq-to-read-a-windows-eventlog-file -evtx /

如果我使用这种方法,我可以读出没有问题的文件。

这不是一个好方法吗?

任何意见?

谢谢

更新:

我在第一个场景中一直在研究这个问题,问题是EventRecordID太大了。 如果我将查询设置为“ *”。 它工作正常。 我不明白这一点,因为EventRecord中的RecordID类型很长。

第二种情况总是可以的。

如果您要编写用于加载文件等的代码,则问题中提到的方法很好。

理想情况下,应该使用Microsoft的Log Parser 使用这个只需编写类似SQL的查询来获取统计信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM