EventInstance クラスとは? わかりやすく解説

EventInstance クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

イベント ログ エントリの言語中立的な情報表します

名前空間: System.Diagnostics
アセンブリ: System (system.dll 内)
構文構文

Dim instance As EventInstance
public class EventInstance
public ref class EventInstance
public class EventInstance
public class EventInstance
解説解説

文字列ではなくリソース識別子使用してイベント ログ エントリを書き込むには、EventInstance使用しますイベント ログ エントリを書き込むには、InstanceId プロパティ初期化してインスタンスを WriteEvent メソッド渡しますイベント ビューアでは、インスタンス識別子使用してローカライズされたリソース ファイルから、現在の言語設定に基づく対応する文字列検索して表示させることができますリソース識別子使用してイベント書き込むには、対応するリソース ファイルイベント ソース登録しておく必要があります

イベント書き込むときに、EntryType プロパティ設定してイベント ビューアがエントリに対して表示するアイコン指定できます。CategoryId プロパティ指定してイベント ビューアがエントリに対して表示するカテゴリ指定することもできます

イベント ビューアでは、カテゴリ使用することにより、イベント ソースによって書き込まれイベントフィルタ処理できますイベント ビューアには、カテゴリ数値として表示させたり、カテゴリリソース識別子として使用してローカライズされたカテゴリ文字列表示させたりすることもできます

ローカライズされたカテゴリ文字列イベント ビューア表示するには、カテゴリ リソース ファイル構成されイベント ソース使用しCategoryId を、カテゴリ リソース ファイル内のリソース識別子設定する必要がありますイベント ソース構成済みカテゴリ リソース ファイルがないか、指定されCategoryIdカテゴリ リソース ファイル内の文字列インデックス作成してない場合イベント ビューアは、そのエントリのカテゴリ値を表示します。EventLogInstaller または EventSourceCreationData クラス使用してカテゴリ リソース ファイル構成しリソース ファイル内のカテゴリ文字列数を設定します

EventInstance使用して WriteEvent メソッドイベント書き込む前にイベント ログソース登録する必要がありますソースは、ローカライズされたエントリをログ書き込むように構成する必要がありますまた、ソース少なくとも 1 つメッセージ リソース ファイル定義する必要があります

アプリケーションのインストール時に新しイベント ソース作成します。これにより、オペレーティング システムが、登録されイベント ソースその構成の一覧を更新するための時間的余裕生まれますイベント ソースの一覧がオペレーティング システムにより更新されていないとき、新しソースイベント書き込もうとすると、書き込み操作失敗します新しソースは、EventLogInstaller または CreateEventSource メソッド使用して構成できます新しイベント ソース作成するには、コンピュータ管理者権限が必要です。

イベント メッセージの定義およびイベント ログ リソース ファイル作成詳細については、http://www.microsoft.com/japan/msdn のプラットフォーム SDK ドキュメントで「Message Compiler」のトピック参照してください

Windows 98, Windows Millennium Edition プラットフォームメモ : イベント ログは、Windows 98 または Windows Millennium Edition (Me) ではサポートされていません。

使用例使用例

情報イベント エントリを書き込んだ後、EventInstance再利用して、既存イベント ログ警告イベントのエントリを書き込むコード例次に示しますイベントメッセージ テキストは、メッセージ リソース ファイルリソース識別子使用して指定されます。このコード例では、ソースに対して対応するメッセージ リソース ファイル登録されていることを前提にしています。

' Ensure that the source has already been registered using
' EventLogInstaller or EventLog.CreateEventSource.
Dim sourceName as String
 = "SampleApplicationSource"
If EventLog.SourceExists(sourceName)
    
    ' Define an informational event with no category.
    ' The message identifier corresponds to the message text in the
    ' message resource file defined for the source.
    Dim myEvent As EventInstance = New
 EventInstance(UpdateCycleCompleteMsgId, 0)
    ' Write the event to the event log using the registered source.
    EventLog.WriteEvent(sourceName, myEvent)

    ' Reuse the event data instance for another event entry.
    ' Set the entry category and message identifiers for
    ' the appropriate resource identifiers in the resource files
    ' for the registered source.  Set the event type to Warning.

    myEvent.CategoryId = RefreshCategoryMsgId
    myEvent.EntryType = EventLogEntryType.Warning
    myEvent.InstanceId = ServerConnectionDownMsgId

    ' Write the event to the event log using the registered source.
    ' Insert the machine name into the event message text.
    EventLog.WriteEvent(sourceName, myEvent, Environment.MachineName)

Else 
    Console.WriteLine("Warning - event source {0} not registered",
 _
        sourceName)
End If

// Ensure that the source has already been registered using
// EventLogInstaller or EventLog.CreateEventSource.

string sourceName = "SampleApplicationSource";
if(EventLog.SourceExists(sourceName))
{
    // Define an informational event with no category.
    // The message identifier corresponds to the message text in the
    // message resource file defined for the source.
    EventInstance myEvent = new EventInstance(UpdateCycleCompleteMsgId,
 0);
    
    // Write the event to the event log using the registered source.
    EventLog.WriteEvent(sourceName, myEvent);

    // Reuse the event data instance for another event entry.
    // Set the entry category and message identifiers for
    // the appropriate resource identifiers in the resource files
    // for the registered source.  Set the event type to Warning.

    myEvent.CategoryId = RefreshCategoryMsgId;
    myEvent.EntryType = EventLogEntryType.Warning;
    myEvent.InstanceId = ServerConnectionDownMsgId;

    // Write the event to the event log using the registered source.
    // Insert the machine name into the event message text.
    EventLog.WriteEvent(sourceName, myEvent, Environment.MachineName);
}
else 
{
    Console.WriteLine("Warning - event source {0} not registered", 
        sourceName);
}

// Ensure that the source has already been registered using
// EventLogInstaller or EventLog.CreateEventSource.
String^ sourceName = "SampleApplicationSource";
if ( EventLog::SourceExists( sourceName ) )
{
   // Define an informational event with no category.
   // The message identifier corresponds to the message text in the
   // message resource file defined for the source.
   EventInstance ^ myEvent = gcnew EventInstance( UpdateCycleCompleteMsgId,0 );

   // Write the event to the event log using the registered source.
   EventLog::WriteEvent( sourceName, myEvent, 0 );

   // Reuse the event data instance for another event entry.
   // Set the entry category and message identifiers for
   // the appropriate resource identifiers in the resource files
   // for the registered source.  Set the event type to Warning.
   myEvent->CategoryId = RefreshCategoryMsgId;
   myEvent->EntryType = EventLogEntryType::Warning;
   myEvent->InstanceId = ServerConnectionDownMsgId;

   // Write the event to the event log using the registered source.
   // Insert the machine name into the event message text.
   array<String^>^ss = {Environment::MachineName};
   EventLog::WriteEvent( sourceName, myEvent, ss );
}
else
{
   Console::WriteLine( "Warning - event source {0} not registered", sourceName
 );
}

コード例では、リソース ライブラリ EventLogMsgs.dll に組み込まれた、次のメッセージ テキスト ファイル使用されています。メッセージ リソース ファイルは、メッセージ テキスト ファイルから生成されます。メッセージ テキスト ファイルでは、リソース識別子の他、カテゴリイベント メッセージ、およびパラメータ挿入文字列テキスト定義されます。

; // EventLogMsgs.mc
; // ********************************************************

; // Use the following commands to build this file:

; //   mc -s EventLogMsgs.mc
; //   rc EventLogMsgs.rc
; //   link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res 
; // ********************************************************

; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************

MessageId=0x1
Severity=Success
SymbolicName=INSTALL_CATEGORY
Language=English
Installation
.

MessageId=0x2
Severity=Success
SymbolicName=QUERY_CATEGORY
Language=English
Database Query
.

MessageId=0x3
Severity=Success
SymbolicName=REFRESH_CATEGORY
Language=English
Data Refresh
.

; // - Event messages -
; // *********************************

MessageId = 1000
Severity = Success
Facility = Application
SymbolicName = AUDIT_SUCCESS_MESSAGE_ID_1000
Language=English
My application message text, in English, for message id 1000, called from %1.
.

MessageId = 1001
Severity = Warning
Facility = Application
SymbolicName = AUDIT_FAILED_MESSAGE_ID_1001
Language=English
My application message text, in English, for message id 1001, called from %1.
.


MessageId = 1002
Severity = Success
Facility = Application
SymbolicName = GENERIC_INFO_MESSAGE_ID_1002
Language=English
My generic information message in English, for message id 1002.
.


MessageId = 1003
Severity = Warning
Facility = Application
SymbolicName = GENERIC_WARNING_MESSAGE_ID_1003
Language=English
My generic warning message in English, for message id 1003, called from %1.
.


MessageId = 1004
Severity = Success
Facility = Application
SymbolicName = UPDATE_CYCLE_COMPLETE_MESSAGE_ID_1004
Language=English
The update cycle is complete for %%5002.
.


MessageId = 1005
Severity = Warning
Facility = Application
SymbolicName = SERVER_CONNECTION_DOWN_MESSAGE_ID_1005
Language=English
The refresh operation did not complete because the connection to server %1 could
 not be established.
.


; // - Event log display name -
; // ********************************************************


MessageId = 5001
Severity = Success
Facility = Application
SymbolicName = EVENT_LOG_DISPLAY_NAME_MSGID
Language=English
Sample Event Log
.



; // - Event message parameters -
; //   Language independent insertion strings
; // ********************************************************


MessageId = 5002
Severity = Success
Facility = Application
SymbolicName = EVENT_LOG_SERVICE_NAME_MSGID
Language=English
SVC_UPDATE.EXE
.
継承階層継承階層
System.Object
  System.Diagnostics.EventInstance
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
EventInstance メンバ
System.Diagnostics 名前空間
System.Diagnostics.EventLog.WriteEvent
System.Diagnostics.EventLogEntry



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「EventInstance クラス」の関連用語

EventInstance クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



EventInstance クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS