C#-使用多个参数格式化事件日志查询

C#-使用多个参数格式化事件日志查询,c#,event-log,C#,Event Log,我有以下事件日志查询,其中我需要根据事件ID和创建时间的特定日期范围进行筛选。以下是我目前拥有的: var _PRINTINGDOCUMENTEVENTID = "307"; var startTime = System.DateTime.Now.AddMinutes(-10); var endTime = System.DateTime.Now var query = string.Format("*[[System/EventID={0}] and [System[TimeCreated[

我有以下事件日志查询,其中我需要根据事件ID和创建时间的特定日期范围进行筛选。以下是我目前拥有的:

var _PRINTINGDOCUMENTEVENTID = "307";
var startTime = System.DateTime.Now.AddMinutes(-10);
var endTime = System.DateTime.Now

var query = string.Format("*[[System/EventID={0}] and [System[TimeCreated[@SystemTime >= {1}]]] and [System[TimeCreated[@SystemTime <= {2}]]]", _PRINTINGDOCUMENTEVENTID, startTime.ToUniversalTime().ToString("o"), endTime.ToUniversalTime().ToString("o"));)

var logQuery = new EventLogQuery("Microsoft-Windows-PrintService/Operational", PathType.LogName, query );

var reader = new EventLogReader(logQuery);
var\u PRINTINGDOCUMENTEVENTID=“307”;
var startTime=System.DateTime.Now.AddMinutes(-10);
var endTime=System.DateTime.Now
var query=string.Format(“*[[System/EventID={0}]和[System[TimeCreated[@SystemTime>={1}]]和[System[TimeCreated[@SystemTime]=

2016-03-28222:51:23.9082575Z]]和[System[TimeCreated[@SystemTime您是否尝试过在格式化的日期时间周围加上记号

and [System[TimeCreated[@SystemTime >= '{1}']]]

我能够根据事件id和TimeCreated的日期范围确定过滤的正确格式

var eventId = "307";
var startTime = System.DateTime.Now.AddMinutes(-10);
var endTime = System.DateTime.Now;

var query = string.Format(@"*[System/EventID={0}] and *[System[TimeCreated[@SystemTime >= '{1}']]] and *[System[TimeCreated[@SystemTime <= '{2}']]]",
    eventId, 
    startTime.ToUniversalTime().ToString("o"),
    endTime.ToUniversalTime().ToString("o"));
var eventId=“307”;
var startTime=System.DateTime.Now.AddMinutes(-10);
var endTime=System.DateTime.Now;

var query=string.Format(@“*[System/EventID={0}]和*[System[TimeCreated[@SystemTime>='{1}']]和*[System[TimeCreated][@SystemTime看起来您的格式字符串的开头可能有一个额外的括号。请尝试去掉第一个括号,或在最后添加一个括号。我需要在每个筛选元素前面加一个星号。您可以使用EventViewer创建查询并在XML选项卡上查看输出。