【发布时间】:2016-02-15 09:12:56
【问题描述】:
我想知道如何访问事件日志条目。我有一个客户端服务器应用程序,它执行没有问题。我要查找的是 ID 为 1149 的所有日志实例。此日志包含远程连接条目。我截取了一段代码,就在这里。
string logType = "System";
string str = "";
EventLog ev = new EventLog(logType, System.Environment.MachineName);
int LastLogToShow = ev.Entries.Count;
if (LastLogToShow <= 0)
Console.WriteLine("No Event Logs in the Log :" + logType);
// Read the last 2 records in the specified log.
int i;
for (i = ev.Entries.Count; i >= LastLogToShow - 1000 ; i--)
{
EventLogEntry CurrentEntry = ev.Entries[i];
if (CurrentEntry.InstanceId == 1149)
{
str += "Event type: " + CurrentEntry.EntryType.ToString() + "\n" +
"Event Message: " + CurrentEntry.Message + CurrentEntry + "\n" +
"Event Time: " + CurrentEntry.TimeGenerated.ToShortTimeString() + "\n" +
"Event : " + CurrentEntry.UserName +"\n" +"\n";
}
}
ev.Close();
return str;
问题是我每次都得到 42567 索引超出范围异常。我也不知道在那之后它是否会起作用,所以可能会出现问题。
编辑: 事实上,问题是我像你们说的那样用我的索引从事件日志中伸出援手。使用这条线进行循环解决了我的问题,我现在可以访问事件日志,如果有人环顾四周,这个解决方案对我有用,非常感谢大家。
for (i = ev.Entries.Count - 1; i >= 0; i--)
【问题讨论】: