【发布时间】:2015-09-29 09:58:25
【问题描述】:
我想读取存档的 Windows 事件日志文件 (.evtx),如下例所示:
using System;
using System.Diagnostics.Eventing.Reader;
public static class Program {
static void Main(string[] args) {
using (var reader = new EventLogReader(@"C:\tmp\some-log.evtx", PathType.FilePath)) {
EventRecord record;
while ((record = reader.ReadEvent()) != null) {
// do something with record...
}
}
}
}
record 对象有一个 Properties 列表,其中包含事件的替换字符串:
foreach (var property in record.Properties) {
Console.WriteLine(property.Value);
}
如果我在事件日志查看器中打开 .evtx 文件,我可以看到事件的完整描述,这就像一个基本模板消息(它应该来自与生成事件的应用程序关联的资源文件) 将占位符的值替换为这些值:
有没有办法为某个事件获取这个“消息模板”?
【问题讨论】: