您可以查看我为 logparser 编写的工具。它有一个类似 SQL 的创建屏幕,可以为您提供可以使用的良好查询示例。
如果您在应用程序中包含 LogParser,请注意如何部署它:logparser binaries distribution,您可以看到我单独包含它。
#1 为什么我坚持使用 EventLog 类,因为 Win Server 2003 不支持 EventLogReader
我建议你从Visual Log Parser借用代码。
#2 它需要同时查询多个服务器
LogParser 非常适合查询多个服务器和多个日志。查看所有日志组合并按时间排序甚至按出现分组非常方便。
#3 我不是在查询所有的事件日志,而是在一个日期范围内查询事件日志,有没有办法让它更快,因为我们只需要一个范围内的事件日志?
是的,LogParser 完全在飞行中,比疾驰的火车还快!以下是按 DateRange 查询 Evt 日志的方法:
SELECT Extract_FileName(EventLog) AS EventLog, RecordNumber, TimeGenerated, EventID, EventType, EventTypeName, EventCategoryName, SourceName, ComputerName, Message FROM
\\servername\Application
WHERE TimeWritten > '2011-01-25 12:01:00'
AND TimeWritten < '2012-01-25 12:01:00'
#4 我试过了,Log Parser Studio 似乎只适用于日志文件,而不适用于本地系统或远程服务器。
Log Parser Studio 只是 logparser 的 GUI,它应该可以工作,尝试这个原始查询(没有 LP Studio 直接使用 LogParser)来获取您域中的所有日志:
LogParser "SELECT SourceName,TimeGenerated,TimeWritten,Message INTO filename.csv FROM \\Server\Application where Message Like '%mydomain.com%'" -o:CSV