以编程方式创建自定义Eventlog视图

Dom*_*k B 3 c# event-log

我想以编程方式在C#应用程序中创建自定义Eventlog视图。

这是如何在Microsoft Windows的Eventlog应用程序的帮助下创建自定义Eventlog视图的方法:

创建自定义视图

我在类中搜索了System.Diagnostics.EventLog一种方法,该方法的作用与Microsoft在Eventlog应用程序中找到的按钮相同。可悲的是,我找不到满足我需求的任何功能。

有没有人以编程方式在C#中创建自定义Eventlog视图,或者知道一种有效的方法?

Mar*_*rco 5

如果只是测试了这里找到的方法:

try
{
    XmlTextWriter view = new XmlTextWriter("C:\\ProgramData\\Microsoft\\Event Viewer\\Views\\View_1.xml", Encoding.Unicode);
    // Root.
    view.WriteStartDocument();
    view.WriteStartElement("ViewerConfig");
    //Create Node for queryConfig
    view.WriteStartElement("QueryConfig");
    view.WriteStartElement("QueryParams");
    view.WriteStartElement("UserQuery");
    view.WriteEndElement();
    view.WriteEndElement();
    //QueryNode
    view.WriteStartElement("QueryNode");
    //....

    view.Close();
}
catch (XmlException ex)
{
    Console.WriteLine(ex.StackTrace);
}
Run Code Online (Sandbox Code Playgroud)

这为我创建了一个自定义视图。 在此处输入图片说明

基本上,自定义视图是存储在下面的xml文件C:\\ProgramData\\Microsoft\\Event Viewer\\Views\\,您可以通过创建xml文档来滚动自己的视图。

如果您想知道如何格式化这样的xml文档,则可以随时退回到服务器角色文件夹下的预定义查询。 C:\ProgramData\Microsoft\Event Viewer\Views\ServerRoles