EventLog プログラミング アーキテクチャ
更新 : 2007 年 11 月
EventLog コンポーネントでは、.NET Framework 名前空間の次に示す部分を使用します。
EventLog 名前空間
Visual Studio でアプリケーションに EventLog コンポーネントのインスタンスを追加すると、名前空間やクラスへのアクセスに必要な参照およびインポート ステートメントが、自動的に作成されます。ただし、EventLog コンポーネントを作成するコードを Microsoft .NET Framework を使用して自分で記述する場合は、System.Diagnostics への参照を作成し、そのライブラリをインポートするステートメントをプロジェクトに追加する必要があります。
参照を追加および削除する方法については、「方法 : Visual Studio で参照を追加または削除する (Visual Basic)」を参照してください。
EventLog クラスの主なプログラミング要素
監視しているログにエントリを書き込むたびに、EventLog コンポーネントで、EntryWritten というイベントが発生します。このイベントには、ハンドラを定義できます。また、次のメソッドを使用して、EventLog コンポーネントのインスタンスと対話することもできます。
特定のイベント ログがあるかどうかを確認するには、Exists メソッドを使用します。
イベントのソースとログの関連付けを作成する文字列を定義するには、CreateEventSource メソッドを使用します。この関連付けを削除するには、DeleteEventSource メソッドを使用します。このメソッドを使用して、新しいカスタム イベント ログを作成することもできます。ソースを作成するログの新しいログ名を入力すると、システムによって自動的にログが作成されます。
メモ : Source プロパティは任意の文字列に設定できます。アプリケーション名に対応させる必要はありません。1 つのアプリケーションに、複数のコンポーネントを含むことができます。ただし、これらのコンポーネントでは、イベント ログでそれぞれが識別されるように、異なるソース文字列を指定します。
WriteEntry メソッドを使用すると、アクセス可能な任意のイベント ログにイベント情報を書き込むことができます。WriteEntry メソッドを使用すると、指定したログにコンポーネントまたはアプリケーションがまだ登録されていない場合、コンポーネントまたはアプリケーションが有効なソースとして自動的に登録されます。
特定のソースが登録済みかどうかを確認するには、SourceExists メソッドを使用します。このメソッドは、指定したコンピュータで新しいソースを作成する場合に便利です。そのソースがコンピュータに既に登録されていると、SourceExists メソッドでランタイム エラーが発生するためです。
特定のコンピュータのすべてのイベント ログの一覧を取得するには、GetEventLogs メソッドを使用します。
イベント ログ全体を削除するには、Delete メソッドを使用します。ログを削除すると、ログに登録されているすべてのソースも削除されるため、このメソッドの使用には注意が必要です。