使用C#按日期和提供程序名称过滤EventLog

时间:2015-09-01 11:46:59

标签: c# eventlog-source

我想用C#在Windows上过滤我的事件日志。 我在下面使用此代码,只有在查询中有一个条件时才能正常工作。

当我尝试输入更多的那个条件时,我收到错误:

  

指定的查询无效

string FormattedDateTime = string.Format("{0}-{1}-{2}T{3}:{4}:{5}.000000000Z",
                                          DateTime.Now.Year,
                                          DateTime.Now.Month.ToString("D2"),
                                          DateTime.Now.AddDays(-1).Day.ToString("D2"),
                                          DateTime.Now.Hour.ToString("D2"),
                                          DateTime.Now.Minute.ToString("D2"),
                                          DateTime.Now.Second.ToString("D2"));

query = String.Format("*[System/Provider/@Name=\"{0}\" and TimeCreated/@SystemTime>='{1}']", "MyApplication", FormattedDateTime);

var QueryResult = new EventLogQuery(LogSource, PathType.LogName, query);

因此,错误发生在这一行:

var Reader = new System.Diagnostics.Eventing.Reader.EventLogReader(QueryResult);

我已尝试过此查询的任何不同组合,但没有成功。

0 个答案:

没有答案