方法 : EventLog コンポーネントのインスタンスを設定する
更新 : 2007 年 11 月
EventLog コンポーネントのインスタンスの設定に関連する主なプロパティには、次の 3 つがあります。
Log プロパティでは、データをやり取りするログを指定します。
MachineName プロパティでは、使用するログが存在するコンピュータを指定します。
Source プロパティでは、ログにエントリを書き込むときにコンポーネントの識別に使用するソース文字列を指定します。
EventLog コンポーネントのインスタンスを設定する方法は、どのようにインスタンスを使用するかによって決まります。
ログにエントリを書き込む場合は、次のいずれかを行う必要があります。1 つは CreateEventSource メソッドを使用してソースを登録し、そのソースを EventLog コンポーネントの Source プロパティに設定する方法で、もう 1 つはコンポーネントの MachineName、Log、Source プロパティを設定する方法です。
メモ : 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");
メモ : この例のように、MachineName プロパティを設定しない場合には、ローカル コンピュータが指定されます。
各プロパティの詳細については、「イベント ログの参照」を参照してください。
イベント ログで取得したエントリは、複数のプロパティに分類されます。これらのプロパティの詳細については、EventLog に関するトピックを参照してください。
EventLog コンポーネントのインスタンスを設定するには
EventLog コンポーネントのインスタンスを作成します。詳細については、「方法 : EventLog コンポーネントのインスタンスを作成する」を参照してください。
Log、MachineName、Source の各プロパティを適切に組み合わせて設定します。
操作
方法
イベント ログの読み込みおよび監視
Log と MachineName を設定します。
新しい Source 文字列による、ログへのエントリの書き込み
Source、Log、および MachineName を設定します。
既存の Source による、ログへのエントリの書き込み
Source プロパティを既存のソースに設定します。他のプロパティは自動的に設定されます。
コンポーネントのインスタンスが EntryWritten イベントの通知を受け取るようにするには、EnableRaisingEvents プロパティを true に設定します。
参照
処理手順
方法 : EventLog コンポーネントのインスタンスを作成する
方法 : アプリケーションをイベント ログ エントリのソースとして追加する