如何:配置 EventLog 组件实例

更新:2007 年 11 月

配置 EventLog 组件的实例涉及三个主要属性:

  • Log 属性指示您要与其进行交互的日志。

  • MachineName 属性指示您正处理的日志所在的计算机。

  • Source 属性指示在您的组件向日志写入项时用来标识该组件的源字符串。

配置 EventLog 组件实例的方式取决于您打算如何使用它:

  • 如果您正计划将项写入到日志中,则必须完成以下两件事中的一件。您必须使用 CreateEventSource 方法注册源并将 EventLog 组件的 Source 属性设置为同一源,或者必须为组件设置 MachineNameLogSource 属性。

    说明:

    您可以直接在组件上设置 Log 属性,也可以在将组件注册为事件源的代码中设置该属性。将该组件注册为一个源后,在服务器的注册表中就已经设置好了一个连接,它将您的组件与某特定日志联系起来。

  • 如果您打算读取日志项或监视日志,则必须设置 MachineNameLog 属性以指出您正在监视的日志。这种情况下不需要设置 Source 属性。

  • 如果希望组件能够接收 EntryWritten 事件的通知,必须将 EnableRaisingEvents 设置为 true。有关更多信息,请参见 如何:处理 EntryWritten 事件

    下面的示例说明了如何配置您的组件以便可以向 Application 日志写入条目。此示例中,源尚未注册到日志中,所以您必须指定源字符串、日志和计算机名称。您不需要显式调用 CreateEventSource 方法,因为如果源尚未注册,WriteEntry 调用会将源注册到日志中。

    Dim EventLog1 As New EventLog("Application", "myserver", "newsource")
    EventLog1.WriteEntry("Test")
    
         System.Diagnostics.EventLog EventLog1 = new
               System.Diagnostics.EventLog("Application", "myserver", "newsource");
            EventLog1.WriteEntry("Test");
    

    如果此源已注册,您只需设置 Source 属性就可以写入项。例如,以下代码说明了如何用已注册的源向日志中写入条目。

    If Not EventLog.SourceExists("ExistingSourceString") Then
        EventLog.CreateEventSource("ExistingSourceString", "Application")
    End If
    Dim EventLog1 As New EventLog()
    EventLog1.Source = "ExistingSourceString"
    EventLog1.WriteEntry("TestEntry2")
    
         if (!System.Diagnostics.EventLog.SourceExists("ExistingSourceString"))
                System.Diagnostics.EventLog.CreateEventSource(
                   "ExistingSourceString", "Application");
    
            System.Diagnostics.EventLog EventLog1 =
               new System.Diagnostics.EventLog();
            EventLog1.Source = "ExistingSourceString";
            EventLog1.WriteEntry("TestEntry2");
    
    说明:

    如果未设置 MachineName 属性(如这些示例所示),则假定使用本地计算机。

    有关这些属性的更多信息,请参见 事件日志参考

    从事件日志中检索出的条目是按多个属性归类的。有关这些属性的信息,请参见 EventLog

配置 EventLog 组件的实例

  1. 创建 EventLog 组件的实例。有关更多信息,请参见 如何:创建 EventLog 组件实例

  2. 设置 LogMachineNameSource 属性的适当组合:

    如果您希望

    执行此操作

    读取或监视事件日志

    设置 LogMachineName

    使用新的 Source 字符串向日志中写入项

    设置 SourceLogMachineName

    为现有的 Source 向日志中写入项

    Source 属性设置为现有源;此时将自动设置其他属性

  3. 若要使组件实例能够接收 EntryWritten 事件的通知,请将 EnableRaisingEvents 属性设置为 true。

请参见

任务

如何:创建 EventLog 组件实例

如何:将应用程序添加为事件日志项的源

如何:向事件日志中写入项

概念

事件日志参考