C# 问题读取系统事件错误C
下面的代码在Win7机器上运行正常,但当我在Win10上运行它时,它只显示前3个错误并停止C# 问题读取系统事件错误C,c#,C#,下面的代码在Win7机器上运行正常,但当我在Win10上运行它时,它只显示前3个错误并停止 string machine = "."; var aLog = new EventLog("system", machine); List <EventLogEntry> entries = (from entry in aLog.Entries.Cast<EventLogEntry>()
string machine = ".";
var aLog = new EventLog("system", machine);
List <EventLogEntry> entries = (from entry in aLog.Entries.Cast<EventLogEntry>()
where entry.TimeWritten >= DateTime.Today &&
entry.EntryType == EventLogEntryType.Error
orderby entry.TimeWritten descending
select entry).ToList();
Console.WriteLine("COUNT= " +entries.Count); //This is 3 but there is 10 system errors
foreach(var entry in entries)
{
Console.WriteLine(entry.Source);
Console.WriteLine(entry.Message);
Console.WriteLine();
}
代码完全按照您的要求执行,检索日期大于或开始于今天开始的所有内容。屏幕截图中的过滤视图是过去24小时内发生的所有事情,这是不一样的 如果要使用该视图,请更改where子句
var twentyFourHoursAgo = DateTime.Now.AddHours(-24); // not sure if this should be UTC or local, change to UtcNow if applicable
List <EventLogEntry> entries = (from entry in aLog.Entries.Cast<EventLogEntry>()
where entry.TimeWritten >= twentyFourHoursAgo &&
entry.EntryType == EventLogEntryType.Error
orderby entry.TimeWritten descending
select entry).ToList();
您的屏幕截图仅显示9月26日发生的3个条目。是否可能其他条目只是被entry.TimeWrite>=DateTime.Today过滤掉?您可能希望改用timewrited>=DateTime.Now.AddHours-24。