读取事件查看器条目

时间:2015-12-06 15:00:24

标签: c# conditional-statements event-log

我想从c#程序中的某个自定义事件日志中读取事件条目, 并根据他们的描述过滤它们。 有办法吗? 或者将条目作为集合获取的方法,以便我可以从条件中进行选择?

1 个答案:

答案 0 :(得分:5)

尝试这样的事情:

       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();
        }

过滤器为XPathXQuery。如果您想了解事件内部结构,我发现最好阅读eventvwr中的过滤器定义。查看XML - 标签...