2011-12-23 53 views
1

我使用的.Net功能來讀取遠程機器從Windows事件日誌的事件,就像這樣:閱讀Windows日誌事件會生成新的日誌事件。如何防止這一點?

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

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

但是,這會產生大量的事件日誌中新SuccessAudit事件。有誰知道如何防止這些新事件出現在事件日誌中?

在此先感謝

+0

你得到的,你有打算,而不是所有事件的集合.. – MethodMan 2011-12-23 16:40:14

+0

確切的事件日誌/應用程序的名字,我需要閱讀所有的應用程序和標準以外的所有事件:系統,安全等 – vasjko 2011-12-23 16:43:33

+0

這裏是一個鏈接,你可能也想看看可能或不可能幫助http://www.codeproject.com/KB/cs/LogString.aspx – MethodMan 2011-12-23 17:25:27

回答

1

在我的特定系統我不知道我能避免這種情況。也就是說,如果這是問題,我可以輕鬆避免閱讀特定事件日誌。我可以選擇寫入或讀取特定日誌,並避免使用「安全」日誌。

+0

我看,我可以跳過這個事件也在我身邊,通過這個將垃圾郵件事件登錄到服務器 – vasjko 2011-12-23 16:52:04

0

你能做到這一點,從內環路揣摩要檢查

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

我可以跳過這個事件在我身邊,通過這個將垃圾郵件事件登錄到服務器 – vasjko 2011-12-23 16:51:01

0

這裏的交易原木什麼事件:他們的目標是成爲冗長。這個'問題'是處理日誌的一個不幸的副作用,但它在設計中就存在了!想象一下,如果系統中發生的任何事情都可以被日誌忽略。病毒和惡意軟件製造者是否會喜歡它(這句話聽起來很糟糕,就像說恐怖分子勝利一樣)?儘量不要在太緊的循環中調用GetEventLogs,並且您應該沒問題。你也可以這樣說

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

我看到了,我可以跳過這種類型的事件,但我會垃圾郵件事件日誌反正。我在想,如果我擁有管理員權限,有一些方法可以防止出現這種情況 – vasjko 2011-12-23 16:48:50