较新版本的Windows可以在事件查看器中定义“自定义视图”(过滤器)。在服务器上,有例如一个预定义的自定义视图“管理事件”,用于过滤重要的错误和警告。在C#的事件日志中使用自定义视图(过滤器)
是否有可能从C#访问这些视图,即是否可以迭代“管理事件”中的所有条目?
较新版本的Windows可以在事件查看器中定义“自定义视图”(过滤器)。在服务器上,有例如一个预定义的自定义视图“管理事件”,用于过滤重要的错误和警告。在C#的事件日志中使用自定义视图(过滤器)
是否有可能从C#访问这些视图,即是否可以迭代“管理事件”中的所有条目?
以下代码显示了如何使用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) { }
}
原则上我知道如何访问事件日志。基本上,我使用EntryWritten事件来获取新条目。但我不知道的是我是否以及如何访问“自定义视图”。我想知道的是,通过“EntryWritten”收到的事件是否会显示在事件查看器的某个视图中。 – Christoph
任何可能从C#创建这些?而不是使用命令C:\ Windows \ System32 \ eventvwr.exe /v:"CustomView.xml“ –