方法 : EventLog コンポーネントのインスタンスを設定する

更新 : 2007 年 11 月

EventLog コンポーネントのインスタンスの設定に関連する主なプロパティには、次の 3 つがあります。

  • Log プロパティでは、データをやり取りするログを指定します。

  • MachineName プロパティでは、使用するログが存在するコンピュータを指定します。

  • Source プロパティでは、ログにエントリを書き込むときにコンポーネントの識別に使用するソース文字列を指定します。

EventLog コンポーネントのインスタンスを設定する方法は、どのようにインスタンスを使用するかによって決まります。

  • ログにエントリを書き込む場合は、次のいずれかを行う必要があります。1 つは CreateEventSource メソッドを使用してソースを登録し、そのソースを EventLog コンポーネントの Source プロパティに設定する方法で、もう 1 つはコンポーネントの MachineNameLogSource プロパティを設定する方法です。

    w3t54f67.alert_note(ja-jp,VS.90).gifメモ :

    Log プロパティは、コンポーネントに直接設定できます。または、イベント ソースとしてコンポーネントを登録するように、コードで設定することもできます。ソースとしてコンポーネントを登録すると、サーバーのレジストリの接続が自動的に設定され、特定のログにコンポーネントがリンクされます。

  • ログの読み込みまたは監視を設定する場合は、MachineName プロパティと Log プロパティを設定して、監視するログを指定する必要があります。この場合、Source プロパティを設定する必要はありません。

  • コンポーネントで EntryWritten イベントの通知を受け取るようにするには、EnableRaisingEvents を true に設定する必要があります。詳細については、「方法 : EntryWritten イベントのハンドラを作成する」を参照してください。

    アプリケーション ログへのエントリの書き込みができるように、コンポーネントを設定する方法は、次のとおりです。この例では、ログにソースが登録されていません。ソース文字列、ログ、およびコンピュータ名を指定する必要があります。WriteEntry を呼び出すと、ソースがまだログに登録されていない場合は登録されるので、CreateEventSource メソッドを明示的に呼び出す必要はありません。

    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");
    
    w3t54f67.alert_note(ja-jp,VS.90).gifメモ :

    この例のように、MachineName プロパティを設定しない場合には、ローカル コンピュータが指定されます。

    各プロパティの詳細については、「イベント ログの参照」を参照してください。

    イベント ログで取得したエントリは、複数のプロパティに分類されます。これらのプロパティの詳細については、EventLog に関するトピックを参照してください。

EventLog コンポーネントのインスタンスを設定するには

  1. EventLog コンポーネントのインスタンスを作成します。詳細については、「方法 : EventLog コンポーネントのインスタンスを作成する」を参照してください。

  2. LogMachineNameSource の各プロパティを適切に組み合わせて設定します。

    操作

    方法

    イベント ログの読み込みおよび監視

    LogMachineName を設定します。

    新しい Source 文字列による、ログへのエントリの書き込み

    SourceLog、および MachineName を設定します。

    既存の Source による、ログへのエントリの書き込み

    Source プロパティを既存のソースに設定します。他のプロパティは自動的に設定されます。

  3. コンポーネントのインスタンスが EntryWritten イベントの通知を受け取るようにするには、EnableRaisingEvents プロパティを true に設定します。

参照

処理手順

方法 : EventLog コンポーネントのインスタンスを作成する

方法 : アプリケーションをイベント ログ エントリのソースとして追加する

方法 : イベント ログにエントリを書き込む

概念

イベント ログの参照