次の方法で共有


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 メソッドを使用します。このメソッドを使用して、新しいカスタム イベント ログを作成することもできます。ソースを作成するログの新しいログ名を入力すると、システムによって自動的にログが作成されます。

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

    Source プロパティは任意の文字列に設定できます。アプリケーション名に対応させる必要はありません。1 つのアプリケーションに、複数のコンポーネントを含むことができます。ただし、これらのコンポーネントでは、イベント ログでそれぞれが識別されるように、異なるソース文字列を指定します。

  • WriteEntry メソッドを使用すると、アクセス可能な任意のイベント ログにイベント情報を書き込むことができます。WriteEntry メソッドを使用すると、指定したログにコンポーネントまたはアプリケーションがまだ登録されていない場合、コンポーネントまたはアプリケーションが有効なソースとして自動的に登録されます。

  • 特定のソースが登録済みかどうかを確認するには、SourceExists メソッドを使用します。このメソッドは、指定したコンピュータで新しいソースを作成する場合に便利です。そのソースがコンピュータに既に登録されていると、SourceExists メソッドでランタイム エラーが発生するためです。

  • 特定のコンピュータのすべてのイベント ログの一覧を取得するには、GetEventLogs メソッドを使用します。

  • イベント ログ全体を削除するには、Delete メソッドを使用します。ログを削除すると、ログに登録されているすべてのソースも削除されるため、このメソッドの使用には注意が必要です。

参照

概念

EventLog コンポーネントの概要