我正在使用.Net功能从远程机器的Windows事件日志中读取事件,如下所示:
var eventLogs = EventLog.GetEventLogs(Hostname);
var collection = eventLogs[0].Entries;
foreach (var item in collection)
{
//Do something
}
但是这会在事件日志中生成许多新的SuccessAudit事件。有人知道如何防止这些新事件出现在事件日志中吗?
提前致谢
答案 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;