配置 EventLog 组件实例 配置 EventLog 组件的实例涉及三个主要属性: Log 属性指示您要与其进行交互的日志。MachineName 属性指示您正处理的日志驻留的计算机。Source 属性指示将用来在您的组件向日志写入条目时标识组件的源字符串。配置 EventLog 组件实例的方式取决于您打算怎样使用它: 如果您正计划将项写入到日志中,则必须完成以下两件事中的一件。必须使用 EventLog.CreateEventSource 方法注册一个源并将 EventLog 组件的 Source 属性设置为相同的源;或者必须设置该组件的 MachineName、Log 和 Source 属性。 注意 可以直接在组件上设置 Log 属性,或者也可以在将您的组件注册为事件源的代码中设置该属性。将该组件注册为一个源后,在服务器的注册表中就已经设置好了一个连接,它将您的组件与某特定日志联系起来。如果打算读取日志条目或监视日志,则必须设置 MachineName 和 Log 属性以指示您正在监视的日志。这种情况下不需要设置 Source 属性。如果您希望组件可以接收 EntryWritten 事件的通知,则必须将 EventLog.EnableRaisingEvents 设置为 true。有关更多信息,请参见处理 EntryWritten 事件。 下例说明了如何配置您的组件以便可以向“应用程序”日志写入条目。此例中,源尚未注册到日志,所以您必须指定源字符串、日志和计算机名。您不需要显式调用 CreateEventSource 方法,因为如果源尚未注册到日志,EventLog.WriteEntry 调用将把它注册到此日志。 Copy Code ' Visual Basic Dim EventLog1 As New EventLog("Application", "myserver", "newsource") EventLog1.WriteEntry("Test") // C# System.Diagnostics.EventLog EventLog1 = new System.Diagnostics.EventLog("Application", "myserver", "newsource"); EventLog1.WriteEntry("Test"); 如果此源已注册,您只须设置 Source 属性就可以写入条目。例如,以下代码说明了如何用已注册的源向日志中写入条目。 Copy Code ' Visual Basic If Not EventLog.SourceExists("ExistingSourceString") Then EventLog.CreateEventSource("ExistingSourceString", "Application") End If Dim EventLog1 As New EventLog() EventLog1.Source = "ExistingSourceString" EventLog1.WriteEntry("TestEntry2") // C# 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 属性(如上例所示),则假定使用本地计算机。有关这些属性的更多信息,请参见事件日志参考。 从事件日志中检索出的条目是按多个属性归类的。有关这些属性的信息,请参见 EventLogEntry 成员。配置 EventLog 组件的实例 创建 EventLog 组件的实例。有关更多信息,请参见创建 EventLog 组件实例。设置 Log、MachineName 和 Source 属性的适当的组合: 如果您希望执行此操作读取或监视事件日志设置 Log 和 MachineName使用新的 Source 字符串向日志中写入条目设置 Source、Log 和 MachineName为现有 Source 向日志中写入条目将 Source 属性设置为现有源,其他属性将自动设置若要使您的组件实例可以接收 EntryWritten 事件的通知,请将 EnableRaisingEvents 属性设置为 true。请参见 http://msdn.microsoft.com/en-us/cc437965(zh-cn,VS.71).aspx