2011-08-25 64 views
2

较新版本的Windows可以在事件查看器中定义“自定义视图”(过滤器)。在服务器上,有例如一个预定义的自定义视图“管理事件”,用于过滤重要的错误和警告。在C#的事件日志中使用自定义视图(过滤器)

是否有可能从C#访问这些视图,即是否可以迭代“管理事件”中的所有条目?

+0

任何可能从C#创建这些?而不是使用命令C:\ Windows \ System32 \ eventvwr.exe /v:"CustomView.xml“ –

回答

0

以下代码显示了如何使用System.Diagnostics名称空间中的EventLog和EventLogEntry类访问系统中的不同事件日志的示例。

EventLog[] eventLogs = EventLog.GetEventLogs(System.Environment.MachineName); 

foreach (EventLog currentLog in eventLogs) 
{ 
    Console.WriteLine("Log: " + currentLog.Log); 

    int counter = 0; 
    try 
    { 
     foreach (EventLogEntry entry in currentLog.Entries) 
     { 
      if (counter++ >= 10) break; 
      Console.WriteLine(entry.Message); 
     } 
    } 
    catch (SecurityException) { } 
} 
+0

原则上我知道如何访问事件日志。基本上,我使用EntryWritten事件来获取新条目。但我不知道的是我是否以及如何访问“自定义视图”。我想知道的是,通过“EntryWritten”收到的事件是否会显示在事件查看器的某个视图中。 – Christoph