Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中的事件日志中使用自定义视图(过滤器)#_C#_Event Log - Fatal编程技术网

C# 在C中的事件日志中使用自定义视图(过滤器)#

C# 在C中的事件日志中使用自定义视图(过滤器)#,c#,event-log,C#,Event Log,较新版本的Windows可以在事件查看器中定义“自定义视图”(过滤器)。在服务器上,有一个预定义的自定义视图“管理事件”,用于过滤重要错误和警告 是否可以从C#访问这些视图,即是否可以迭代“管理事件”中的所有条目?以下代码显示了如何使用System.Diagnostics命名空间中的EventLog和EventLogEntry类访问系统中不同事件日志的示例 EventLog[] eventLogs = EventLog.GetEventLogs(System.Environment.Machin

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


是否可以从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) { }
}

以下代码显示了如何使用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) { }
}

原则上我知道如何访问事件日志。基本上,我使用
entrywrited
事件来获取新条目。但我不知道的是,我是否以及如何访问“自定义视图”。我想知道的是,我通过
entrywrite
收到的事件是否会显示在事件查看器的特定视图中。原则上我知道如何访问事件日志。基本上,我使用
entrywrited
事件来获取新条目。但我不知道的是,我是否以及如何访问“自定义视图”。我想知道的是,我通过
entrywrited
收到的事件是否会显示在事件查看器的特定视图中。是否有可能从C#?创建这些事件???不使用命令C:\Windows\System32\eventvwr.exe/v:“CustomView.xml”,是否可以从C#?创建这些文件???而不是使用命令C:\Windows\System32\eventvwr.exe/v:“CustomView.xml”