读取事件查看器条目
Read event viewer entries
我想从 c# 程序的某个自定义事件日志中读取事件条目,
并通过描述过滤它们。
有办法吗?
或者一种获取条目作为集合的方法,这样我就可以根据条件从中 select?
尝试这样的事情:
string queryString = string.Format("*[System[TimeCreated[@SystemTime>='{0}' and @SystemTime<='{1}']]]",
DateTime.Now.Date.AddDays(-10).ToString("s"),
DateTime.Now.Date.ToString("s"));
var q = new EventLogQuery("Microsoft-Windows-User Profile Service/Operational", PathType.LogName, queryString);
var r = new EventLogReader(q);
var list = new List<EventRecord>();
EventRecord er = r.ReadEvent();
while (er != null) {
list.Add(er);
er = r.ReadEvent();
}
过滤器是 XPath
和 XQuery
。如果您想了解事件的内部结构,我发现最好通读 eventvwr
中的过滤器定义。查看 XML
-选项卡...
我想从 c# 程序的某个自定义事件日志中读取事件条目, 并通过描述过滤它们。 有办法吗? 或者一种获取条目作为集合的方法,这样我就可以根据条件从中 select?
尝试这样的事情:
string queryString = string.Format("*[System[TimeCreated[@SystemTime>='{0}' and @SystemTime<='{1}']]]",
DateTime.Now.Date.AddDays(-10).ToString("s"),
DateTime.Now.Date.ToString("s"));
var q = new EventLogQuery("Microsoft-Windows-User Profile Service/Operational", PathType.LogName, queryString);
var r = new EventLogReader(q);
var list = new List<EventRecord>();
EventRecord er = r.ReadEvent();
while (er != null) {
list.Add(er);
er = r.ReadEvent();
}
过滤器是 XPath
和 XQuery
。如果您想了解事件的内部结构,我发现最好通读 eventvwr
中的过滤器定义。查看 XML
-选项卡...