我知道我可以使用以下方式阅读Windows PC的安全日志:
StrategyOne *
var securityLog = new EventLog("security");
foreach (EventLogEntry entry in securityLog.Entries) {
...
}
项包含我希望看到的所有有趣的日志字段:entry
,InstanceId
等。我现在要做的是从作为Message
文件保存到磁盘的事件日志中读取相同的内容。
我已经看到了使用
的建议.evtx
但第二个版本中的string xpathQuery = "*";
var eventsQuery = args.Length == 0
? new EventLogQuery("Security", PathType.LogName, xpathQuery)
: new EventLogQuery(args[0], PathType.FilePath, xpathQuery);
using (var eventLogReader = new EventLogReader(eventsQuery)) {
EventLogRecord entry;
while ((entry = (EventLogRecord) eventLogReader.ReadEvent()) != null) {
...
}
}
不包含与第一个示例相同的成员/值。我完全挖掘我很困惑,我正在以错误的方式看问题。
如何从活动或保存的系统日志中读取实际的每条记录内容?
或者,我可以从entry
转到EventLogRecord
吗?我还没有看到转换方法。