读取Windows日志事件会生成新的日志事件。怎么预防这个?

时间:2011-12-23 16:36:41

标签: c# .net event-log

我正在使用.Net功能从远程机器的Windows事件日志中读取事件,如下所示:

var eventLogs = EventLog.GetEventLogs(Hostname);
var collection = eventLogs[0].Entries;

 foreach (var item in collection)
 {
     //Do something
 }

但是这会在事件日志中生成许多新的SuccessAudit事件。有人知道如何防止这些新事件出现在事件日志中吗?

提前致谢

3 个答案:

答案 0 :(得分:1)

在我的特定系统上,我不确定我是否可以避免这种情况。也就是说,如果这是问题,我可以轻松地避免阅读该特定事件日志。我可以选择从特定日志中写入或读取,只是避免使用“安全”日志。

答案 1 :(得分:0)

你可以这样做,并在循环内尝试找出你想要检查的事件

foreach (System.Diagnostics.EventLogEntry entry in EventLog1.Entries) 
{
   Console.WriteLine(entry.Message);
}

答案 2 :(得分:0)

这里是与日志的交易:他们的目标是冗长。这个问题'处理日志是一个不幸的副作用,但它是设计的!想象一下,如果系统中发生的任何事情都可以被日志忽略。不会有病毒和恶意软件制造商喜欢这个(这句话听起来很糟糕,就像说恐怖分子赢了)?尽量不要在过于紧张的循环中调用GetEventLogs,你应该没问题。你也可以说像

var myLogs =
    from item in collection
    skip SuccessAudit logs
    select logs I care about;