Visual C を使用してイベント ログに書き込む方法

文書翻訳 文書翻訳
文書番号: 815661
マイクロソフト ビジュアルを C#。この資料のバージョンを NET を参照してください。 307024.
マイクロソフトの Visual Basic では。この資料のバージョンを NET を参照してください。 301279.

これ資料には、次のマイクロソフトを指します。NET Framework クラス ライブラリ名前空間:
  • システム
  • System.Diagnostics
すべて展開する | すべて折りたたむ

目次

はじめに

この資料では、自分で追加する方法について説明しますMicrosoft を使用してオペレーティング システムのイベント ログへのエントリです。NETフレームワークです。

詳細

要件

推奨ハードウェアの一覧を次に示します、ソフトウェア、ネットワーク インフラストラクチャ、および必要な service pack:
  • Microsoft Windows 2000 Professional、Windows 2000 Server、Windows 2000 のサーバー、または Windows NT 4.0 サーバーの詳細
  • マイクロソフトの Visual Studio。NET
  • Microsoft Visual Studio 2005

イベント ログへの書き込み

イベントのログ出力を標準的、一元的な方法が用意されています、アプリケーション ソフトウェアやハードウェアの重要なイベントを記録します。Windows を提供します。標準のユーザー インターフェイスのログを表示する: イベント ビューアー。使用して、共通言語ランタイム イベント ログ コンポーネントは、既存のイベント ログに簡単に、両方の接続できます。ローカルおよびリモートのコンピューター、およびこれらのログへのエントリの書き込み。読むことができます。既存のエントリをログに記録し、独自のカスタム イベント ログを作成します。で、最も単純な形式では、イベント ログへの書き込みを作成するのには、いくつかの手順を実行します。サンプル アプリケーションです。

これを行うには、次の手順を実行します。
  1. Visual Studio を起動します。NET または Visual Studio 2005年。
  2. 新しいの Visual の C++ Managed C アプリケーション プロジェクトを作成します。

    メモ Visual C で。NET 2003 は、以下の手順を実行します。
    1. 下にあります。 [プロジェクトの種類をクリックして ビジュアルC プロジェクト.
    2. 下にあります。テンプレートをクリックしてコンソール アプリケーション (。NET).
    Visual C 2005 では、次の手順を実行します。
    1. 下にあります。 [プロジェクトの種類をクリックして ビジュアルC++.
    2. 下にあります。テンプレートをクリックしてCLR コンソール アプリケーション.
  3. コードに次の行を追加することによって、system.dll への参照を追加します。
    #using <system.dll>
  4. 使用してディレクティブを システムSystem::Diagnostics 名前空間から宣言を修飾する必要はありませんようにこれらの名前空間、コードの後半は。前に、次のステートメントを使用する必要があります。その他の宣言:
    using namespace System;
    using namespace System::Diagnostics;
  5. イベント ログに書き込むには、いくつかの必要があります。情報: メッセージ、ログの名前を作成するのには(存在しない場合は、この作成されます)、および文字列は、イベントのソースを表します。特定のソースを登録します。のみ 1 つのイベント ログです。2 つ以上のログにメッセージを書き込む場合は、複数のソースを定義する必要があります。
    String *sSource;
    	String *sLog;
    	String *sEvent;
    
    	sSource = new String("dotNET Sample App1");
    	sLog = new String("Application1");
    	sEvent = new String("Sample Event1");
    
  6. 2 つの静的メソッドを使用して、 イベント ログ クラスは、ソースが存在するかどうかは、場合を確認するのにはソースが存在しない、関連付けられているこのソースを作成するのには特定のイベント ログ。指定したログ名が存在しない場合は、名前最初のエントリをログに書き込む場合は、自動的に作成されます。でログ名を指定しない場合、既定値は、 CreateEventSource メソッドは、アプリケーション ログ、ログ ファイルと呼びます。
    if(!EventLog::SourceExists(sSource)) EventLog::CreateEventSource(sSource,sLog);
    
  7. イベント ログ メッセージを書き込むには、静的なを使用することができます。メソッド EventLog.WriteEntry.このメソッドは、いくつかの異なるオーバー ロード バージョンがあります。次に、サンプル コードは、最も簡単な方法を示しています (これは、元の文字列を取得し、メッセージの場合) より複雑な方法の 1 つ (サポートを指定する、イベント ID とイベント型)。
    EventLog::WriteEntry(sSource,sEvent);
    	EventLog::WriteEntry(sSource, sEvent, EventLogEntryType::Warning, 235);
  8. アプリケーションを保存します。アプリケーションを実行し、確認新しいイベントがイベント ビューアーのアプリケーション ログ。

Visual C でコードを実行します。NET

#include <tchar.h>
#using <system.dll>
#using <mscorlib.dll>

using namespace System;
using namespace System::Diagnostics;

int _tmain()
{
	String *sSource;
	String *sLog;
	String *sEvent;

	sSource = new String("dotNET Sample App1");
	sLog = new String("Application1");
	sEvent = new String("Sample Event1");

 if(!EventLog::SourceExists(sSource))
   EventLog::CreateEventSource(sSource,sLog);

	EventLog::WriteEntry(sSource,sEvent);
	EventLog::WriteEntry(sSource, sEvent,
		EventLogEntryType::Warning, 234);
	return 0;
}

完全なコード リストでは、Visual C 2005

#include <tchar.h>
#include <stdafx.h>
#using <system.dll>
#using <mscorlib.dll>

using namespace System;
using namespace System::Diagnostics;

int main()
{
	String ^sSource;
	String ^sLog;
	String ^sEvent;

	sSource = gcnew String("dotNET Sample App1");
	sLog = gcnew String("Application1");
	sEvent = gcnew String("Sample Event1");

 if(!EventLog::SourceExists(sSource))
   EventLog::CreateEventSource(sSource,sLog);

	EventLog::WriteEntry(sSource,sEvent);
	EventLog::WriteEntry(sSource, sEvent,
		EventLogEntryType::Warning, 234);
	return 0;
}

プロパティ

文書番号: 815661 - 最終更新日: 2011年7月28日 - リビジョン: 5.0
キーワード:?
kbhowto kbhowtomaster kbeventlog kbdebug kbmt KB815661 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:815661
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com