Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 读取事件查看器条目_C#_Conditional Statements_Event Log - Fatal编程技术网

C# 读取事件查看器条目

C# 读取事件查看器条目,c#,conditional-statements,event-log,C#,Conditional Statements,Event Log,我想从c程序的某个自定义事件日志中读取事件条目, 并根据其描述对其进行过滤。 有办法吗? 或者是一种将条目作为集合获取的方法,以便我能够根据条件从中进行选择?尝试以下方法: string queryString = string.Format("*[System[TimeCreated[@SystemTime>='{0}' and @SystemTime<='{1}']]]", DateTime.Now.Date.AddDays(-10).ToS

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

尝试以下方法:

       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选项卡…

检查Checked,there is'Entries'属性,不知道如何按条件读取。您是在谈论Windows的eventvwr.msc会看到的事件,还是说某种应用程序驱动的事件?我会在事件查看器中看到的事件yesHi Shake,刚才看到,你在场,甚至就这个问题提出了一个新问题。我的回答能帮你吗?哇,谢谢你提醒我阅读事件日志的方法!多亏了它,我能够将阅读日志的时间从35秒减少到4秒!