EventLog コンポーネントの概要

更新 : 2007 年 11 月

Microsoft Windows のイベント ログ機能では、アプリケーションで重要なソフトウェア イベントおよびハードウェア イベントを記録するため、標準的な方法を集中化して用意しています。エラーが発生した場合、システム管理者またはサポート技術者は、エラーの原因の判別、失われたデータの復元、およびエラーの再発の防止を行う必要があります。アプリケーション、オぺレーティング システム、他のシステム サービスなどで、メモリ不足、またはディスクへのアクセス失敗などの重要なイベントを記録する場合は、イベント ログを使用すると便利です。システム管理者は、イベント ログを使用して、エラーが発生した原因と状況を確認します。

Windows には、これらのイベント ログを表示する標準のユーザー インターフェイス、およびログ エントリを検証するプログラミング インターフェイスが用意されています。Microsoft Visual Basic Version 6.0 以前のバージョンでは、一部のイベント ログに対して、制限された書き込み操作を実行できましたが、すべてのイベント ログの読み込みや対話を簡単に行うことはできませんでした。

EventLog コンポーネントを使用すると、簡単にローカル コンピュータおよびリモート コンピュータのイベント ログに接続し、エントリを書き込むことができます。また、既存のログのエントリを読み込み、独自のカスタム イベント ログを作成することもできます。

[サーバー エクスプローラ] を使用すると、イベント ログへ書き込んだり、イベント ログのエントリを読み込んだりする以外に、アクセス先のサーバーのイベント ログの一覧を表示することもできます。[サーバー エクスプローラ] で [イベント ログ] ノードを展開し、現在含まれているログ、およびログに書き込まれているイベントを参照できます。[サーバー エクスプローラ] から特定のイベント ログをデザイナにドラッグして、そのイベント ログをポイントするようにプロパティが自動的に設定される EventLog コンポーネントのインスタンスを作成することもできます。

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

特定のコンピュータのすべてのイベント ログの一覧を取得するには、GetEventLogs メソッドを使用するという方法もあります。

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

イベント ログの使用に影響を与えるセキュリティ上の制限事項があります。詳細については、「イベント ログへのアクセス権」を参照してください。

Windows イベント ログの主要概念

Windows で定義されるイベントとは、発生した場所がオぺレーティング システムであるかアプリケーションであるかにかかわらず、ユーザーに通知する必要がある重要な事象のことです。重大なイベントは、画面の即時メッセージの形式でユーザーに送信されます。その他のイベント通知は、次回参照用に情報を記録するイベント ログの 1 つに書き込まれます。すべてのイベント ログ エントリは、エラー、警告、情報、監査成功、監査エラーの各カテゴリのいずれかに分類されます。

Windows 2000 または Windows NT 4.0 が稼動しているコンピュータで使用できる既定のイベント ログには、以下の 3 つがあります。

  • システム ログ。ドライバの問題など、システム コンポーネントで発生したイベントを追跡します。

  • セキュリティ ログ。セキュリティの変更、およびセキュリティ違反を追跡します。

  • アプリケーション ログ。登録されているアプリケーションで発生するイベントを追跡します。

Active Directory などの他のプログラムでは、これらのログに加えて、独自の既定ログが作成される場合があります。System.Diagnostics 名前空間の言語機能を使用して、独自のカスタム ログを作成することもできます。

イベント ログに書き込まれるイベントは、特定のソースに関連付けられます。新しいソースは、イベント ログに書き込む前に作成されます。新しいソースを設定するには EventLogInstaller オブジェクトまたは CreateEventSource メソッドを使用します。新しいイベント ソースを作成するには、そのコンピュータの管理者権限が必要です。イベント カテゴリとメッセージ文字列についてのローカライズされたリソースを含むイベント ソースを登録できます。アプリケーションでイベント ログ エントリを書き込むときには、実際の文字列値を指定する代わりに、リソース識別子を使用できます。リソース ファイルを使用してソースを設定する方法の詳細については、EventLogInstaller クラスと EventSourceCreationData クラスの説明を参照してください。

記録するイベントの選択

イベント ログは、次のような場合に便利です。

  • リソースに問題がある場合。メモリ不足 (コードのバグや不適切なメモリによって発生) のため、アプリケーションのパフォーマンスが低下した場合、メモリの割り当てに失敗したときに記録される警告イベントを見れば、その原因を確認できます。

  • イベント情報を記録する場合。データベース サーバーなどのサーバー ベースのアプリケーションで、ユーザーのログオン、データベースのオープン、ファイル転送の開始などのイベントを記録できます。他にも、発生したエラー イベント (ファイルにアクセスできない、ホスト プロセスが切断されたなど)、データベース内の破損、ファイル転送が成功したかどうかなどを記録することもできます。

イベント ログでは、ディスク容量、プロセッサ時間などのリソースが消費されます。イベント ログに必要なディスク容量、およびイベントを記録するアプリケーションのオーバーヘッドは、記録する情報の量によって決まります。このため、必要不可欠な情報だけを記録することが重要です。また、パフォーマンスの低下を防ぐために、イベントのログの呼び出しはメイン コード パスではなく、コード内のエラー パスで行うことをお勧めします。

参照

処理手順

チュートリアル : イベント ログ、イベント ソース、およびエントリの基礎

概念

イベント ログ エントリの種類

イベント ログの参照

EventLog プログラミング アーキテクチャ

参照

EventLog