EventLog.WriteEntry メソッド

定義

イベント ログにエントリを書き込みます。

オーバーロード

WriteEntry(String, String, EventLogEntryType, Int32, Int16, Byte[])

指定した登録イベント ソースを使用して、指定したメッセージ テキスト、アプリケーション定義のイベント識別子、およびアプリケーション定義のカテゴリと共にエントリをイベント ログに書き込み、メッセージにバイナリ データを付加します。

WriteEntry(String, String, EventLogEntryType, Int32, Int16)

指定した登録イベント ソースを使用して、メッセージ テキスト、アプリケーション定義のイベント識別子、およびアプリケーション定義のカテゴリと共にエントリをイベント ログに書き込みます。 category は、イベント ビューアーでログ内のイベントをフィルター処理するときに使用できます。

WriteEntry(String, EventLogEntryType, Int32, Int16, Byte[])

指定したメッセージ テキスト、アプリケーション定義のイベント識別子、およびアプリケーション定義のカテゴリと共にエントリをイベント ログに書き込み、メッセージにバイナリ データを付加します。

WriteEntry(String, String, EventLogEntryType, Int32)

指定した登録イベント ソースを使用して、指定したメッセージ テキストおよびアプリケーション定義のイベント識別子と共にエントリをイベント ログに書き込みます。

WriteEntry(String, EventLogEntryType, Int32, Int16)

指定したメッセージ テキスト、アプリケーション定義のイベント識別子、およびアプリケーション定義のカテゴリと共にエントリをイベント ログに書き込みます。

WriteEntry(String, EventLogEntryType)

エラー、警告、情報、監査正常終了、または監査エラー エントリを、指定したメッセージ テキストと共にイベント ログに書き込みます。

WriteEntry(String, EventLogEntryType, Int32)

エントリを、指定したメッセージ テキストおよびアプリケーション定義のイベント識別子と共にイベント ログに書き込みます。

WriteEntry(String, String)

指定した登録イベント ソースを使用して、種類が Information のエントリを、指定したメッセージ テキストと共にイベント ログに書き込みます。

WriteEntry(String)

種類が Information のエントリを、指定したメッセージ テキストと共にイベント ログに書き込みます。

WriteEntry(String, String, EventLogEntryType)

指定した登録イベント ソースを使用して、エラー、警告、情報、監査正常終了、または監査エラー エントリを、指定したメッセージ テキストと共にイベント ログに書き込みます。

WriteEntry(String, String, EventLogEntryType, Int32, Int16, Byte[])

指定した登録イベント ソースを使用して、指定したメッセージ テキスト、アプリケーション定義のイベント識別子、およびアプリケーション定義のカテゴリと共にエントリをイベント ログに書き込み、メッセージにバイナリ データを付加します。

public:
 static void WriteEntry(System::String ^ source, System::String ^ message, System::Diagnostics::EventLogEntryType type, int eventID, short category, cli::array <System::Byte> ^ rawData);
public static void WriteEntry (string source, string message, System.Diagnostics.EventLogEntryType type, int eventID, short category, byte[] rawData);
static member WriteEntry : string * string * System.Diagnostics.EventLogEntryType * int * int16 * byte[] -> unit
Public Shared Sub WriteEntry (source As String, message As String, type As EventLogEntryType, eventID As Integer, category As Short, rawData As Byte())

パラメーター

source
String

アプリケーションを指定されたコンピューターに登録するために使用されるソース。

message
String

イベント ログに書き込む文字列。

type
EventLogEntryType

EventLogEntryType 値のいずれか 1 つ。

eventID
Int32

イベントの、アプリケーション固有の識別子。

category
Int16

メッセージと関連付けられた、アプリケーション固有のサブカテゴリ。

rawData
Byte[]

エントリに関連付けられているバイナリ データを保持するバイト配列。

例外

source 値が空の文字列 ("") です。

- または -

source 値は null です。

- または -

eventID が 0 より小さいか 、UInt16.MaxValue より大きい。

- または -

メッセージ文字列は 31,839 バイト (Windows Vista より前の Windows オペレーティング システムでは 32,766 バイト) を超えています。

- または -

ソース名は、254 文字を超えるレジストリ キーのパスになります。

type は有効な EventLogEntryType ではありません。

イベント ログのレジストリ キーを開けませんでした。

イベント エントリをイベント ログに書き込むときにオペレーティング システムからエラーが報告されました。 Windows のエラー コードは使用できません。

//Create a byte array for binary data to associate with the entry.
array<Byte>^myByte = gcnew array<Byte>(10);
//Populate the byte array with simulated data.
for ( int i = 0; i < 10; i++ )
{
   myByte[ i ] = (Byte)(i % 2);
}
//Write an entry to the event log that includes associated binary data.
Console::WriteLine( "Write from second source " );
EventLog::WriteEntry( "SecondSource", "Writing warning to event log.",
   EventLogEntryType::Error, myEventID, myCategory, myByte );
//Create a byte array for binary data to associate with the entry.
byte[] myByte = new byte[10];
//Populate the byte array with simulated data.
for (int i = 0; i < 10; i++)
{
    myByte[i] = (byte)(i % 2);
}
// Write an entry to the event log that includes associated binary data.
Console.WriteLine("Write from second source ");
EventLog.WriteEntry("SecondSource", "Writing warning to event log.",
                     EventLogEntryType.Error, myEventID, myCategory, myByte);
' Create a byte array for binary data to associate with the entry.
Dim myByte(9) As Byte
Dim i As Integer
' Populate the byte array with simulated data.
For i = 0 To 9
    myByte(i) = CByte(i Mod 2)
Next i
' Write an entry to the event log that includes associated binary data.
Console.WriteLine("Write from second source ")
EventLog.WriteEntry("SecondSource", "Writing warning to event log.", _
                     EventLogEntryType.Error, myEventID, myCategory, myByte)

注釈

適切なログのイベント ソースとして既に登録されているソースを使用して、アプリケーション定義のイベント固有のデータをイベント ログに書き込むには、このメソッドを使用します。 イベント ビューアーは、このデータを解釈しません。生データは、16 進数とテキストの組み合わせ形式でのみ表示されます。 イベント固有のデータは控えめに使用してください。それが役に立つと確信している場合にのみ含めます。 また、イベント固有のデータを使用して、アプリケーションがイベント ビューアーとは別に処理できる情報を格納することもできます。 たとえば、イベント専用のビューアーを作成したり、ログ ファイルをスキャンしてイベント固有のデータからの情報を含むレポートを作成するプログラムを作成したりできます。

バイナリ データに加えて、アプリケーション定義のカテゴリとアプリケーション定義のイベント識別子を指定できます。 イベント ビューアーでは、 カテゴリを使用して、イベント ソースによって書き込まれたイベントをフィルター処理します。 イベント ビューアーは、カテゴリを数値として表示することも、カテゴリをリソース識別子として使用してローカライズされたカテゴリ文字列を表示することもできます。

注意

パラメーターは category 正の値である必要があります。 負のカテゴリ値は、イベント ビューアーで相補正数として表示されます。 たとえば、-10 は 65,526、-1 は 65,535 として表示されます。

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

イベント識別子とイベント ソースは、イベントを一意に識別します。 各アプリケーションは、独自の番号付きイベントと、マップ先の説明文字列を定義できます。 イベント ビューアーは、ユーザーが問題を理解し、実行するアクションを提案するのに役立つ、これらの文字列値を表示します。

最後に、イベント ログに書き込まれるイベントの を指定 EventLogEntryType できます。 はtype、ログのイベント ビューアーの [種類] 列のアイコンとテキストで示されます。 このパラメーターは、イベントの種類がエラー、警告、情報、成功監査、または失敗監査であるかどうかを示します。

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

ソースは、ローカライズされたエントリを書き込むか、直接文字列を記述するように構成する必要があります。 メソッドは WriteEntry 、指定された文字列をイベント ログに直接書き込みます。ローカライズ可能なメッセージ リソース ファイルは使用しません。 メソッドを WriteEvent 使用して、ローカライズされたメッセージ リソース ファイルを使用してイベントを書き込みます。

アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合は、2 つの個別のソースを登録する必要があります。 たとえば、リソース ファイルを使用して 1 つのソースを構成し、 メソッドでそのソースを WriteEvent 使用して、リソース識別子を使用してエントリをイベント ログに書き込みます。 次に、リソース ファイルを含まない別のソースを作成し、 メソッドでそのソースを WriteEntry 使用して、そのソースを使用してイベント ログに文字列を直接書き込みます。

注意

パラメーターに message NUL 文字が含まれている場合、イベント ログ内のメッセージは NUL 文字で終了します。

イベント ビューアーでは message 挿入文字列として扱われるため、文字列に %n を含めることはできません。 n は整数値 (%1 など) です。 インターネット プロトコルバージョン 6 (IPv6) アドレスにはこの文字シーケンスを含めることができるため、IPv6 アドレスを含むイベント メッセージをログに記録することはできません。

こちらもご覧ください

適用対象

WriteEntry(String, String, EventLogEntryType, Int32, Int16)

指定した登録イベント ソースを使用して、メッセージ テキスト、アプリケーション定義のイベント識別子、およびアプリケーション定義のカテゴリと共にエントリをイベント ログに書き込みます。 category は、イベント ビューアーでログ内のイベントをフィルター処理するときに使用できます。

public:
 static void WriteEntry(System::String ^ source, System::String ^ message, System::Diagnostics::EventLogEntryType type, int eventID, short category);
public static void WriteEntry (string source, string message, System.Diagnostics.EventLogEntryType type, int eventID, short category);
static member WriteEntry : string * string * System.Diagnostics.EventLogEntryType * int * int16 -> unit
Public Shared Sub WriteEntry (source As String, message As String, type As EventLogEntryType, eventID As Integer, category As Short)

パラメーター

source
String

アプリケーションを指定されたコンピューターに登録するために使用されるソース。

message
String

イベント ログに書き込む文字列。

type
EventLogEntryType

EventLogEntryType 値のいずれか 1 つ。

eventID
Int32

イベントの、アプリケーション固有の識別子。

category
Int16

メッセージと関連付けられた、アプリケーション固有のサブカテゴリ。

例外

source 値が空の文字列 ("") です。

- または -

source 値は null です。

- または -

eventID が 0 より小さいか 、UInt16.MaxValue より大きい。

- または -

メッセージ文字列は 31,839 バイト (Windows Vista より前の Windows オペレーティング システムでは 32,766 バイト) を超えています。

- または -

ソース名は、254 文字を超えるレジストリ キーのパスになります。

イベント ログのレジストリ キーを開けませんでした。

type は有効な EventLogEntryType ではありません。

イベント エントリをイベント ログに書き込むときにオペレーティング システムからエラーが報告されました。 Windows のエラー コードは使用できません。

int myEventID = 20;
short myCategory = 10;

// Write an informational entry to the event log.
Console::WriteLine( "Write from first source " );
EventLog::WriteEntry( "FirstSource", "Writing warning to event log.",
   EventLogEntryType::Information, myEventID, myCategory );
int myEventID = 20;
short myCategory = 10;
// Write an informational entry to the event log.
Console.WriteLine("Write from first source ");
EventLog.WriteEntry("FirstSource", "Writing warning to event log.",
                     EventLogEntryType.Information, myEventID, myCategory);
Dim myEventID As Integer = 10
Dim myCategory As Short = 20
' Write an informational entry to the event log.
Console.WriteLine("Write from first source ")
EventLog.WriteEntry("FirstSource", "Writing warning to event log.", _
                           EventLogEntryType.Information, myEventID, myCategory)

注釈

適切なログのイベント ソースとして既に登録されているソースを使用して、アプリケーション定義 category のエントリをイベント ログに書き込むには、このメソッドを使用します。 イベント ビューアーでは、 カテゴリを使用して、イベント ソースによって書き込まれたイベントをフィルター処理します。 イベント ビューアーは、カテゴリを数値として表示することも、カテゴリをリソース識別子として使用してローカライズされたカテゴリ文字列を表示することもできます。

注意

パラメーターは category 正の値である必要があります。 負のカテゴリ値は、イベント ビューアーで補完正の数値として表示されます。 たとえば、-10 は 65,526、-1 は 65,535 と表示されます。

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

カテゴリに加えて、イベント ログに書き込まれるイベントのイベント識別子を指定できます。 イベント識別子とイベント ソースは、イベントを一意に識別します。 各アプリケーションは、独自の番号付きイベントと、マップ先の説明文字列を定義できます。 イベント ビューアーは、これらの文字列値を表示して、ユーザーが問題の原因を理解し、実行するアクションを提案するのに役立ちます。

最後に、イベント ログに書き込まれるイベントの を指定 EventLogEntryType できます。 はtype、ログのイベント ビューアーの [種類] 列のアイコンとテキストで示されます。 このパラメーターは、イベントの種類がエラー、警告、情報、成功監査、または失敗監査のいずれであるかを示します。

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

ソースは、ローカライズされたエントリを書き込むか、直接文字列を書き込む目的で構成する必要があります。 メソッドは WriteEntry 、指定された文字列をイベント ログに直接書き込みます。ローカライズ可能なメッセージ リソース ファイルは使用しません。 ローカライズされたメッセージ リソース ファイルを WriteEvent 使用してイベントを書き込むには、 メソッドを使用します。

アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合は、2 つの個別のソースを登録する必要があります。 たとえば、リソース ファイルを使用して 1 つのソースを構成し、 メソッドでそのソースを WriteEvent 使用して、リソース識別子を使用してエントリをイベント ログに書き込みます。 次に、リソース ファイルのない別のソースを作成し、 メソッドでそのソースを WriteEntry 使用して、そのソースを使用してイベント ログに文字列を直接書き込みます。

注意

パラメーターに message NUL 文字が含まれている場合、イベント ログ内のメッセージは NUL 文字で終了します。

イベント ビューアーでは挿入文字列として扱われるため、文字列に message %n を含めることはできません。 n は整数値 (%1 など) です。 インターネット プロトコルバージョン 6 (IPv6) アドレスにはこの文字シーケンスを含めることができるため、IPv6 アドレスを含むイベント メッセージをログに記録することはできません。

こちらもご覧ください

適用対象

WriteEntry(String, EventLogEntryType, Int32, Int16, Byte[])

指定したメッセージ テキスト、アプリケーション定義のイベント識別子、およびアプリケーション定義のカテゴリと共にエントリをイベント ログに書き込み、メッセージにバイナリ データを付加します。

public:
 void WriteEntry(System::String ^ message, System::Diagnostics::EventLogEntryType type, int eventID, short category, cli::array <System::Byte> ^ rawData);
public void WriteEntry (string message, System.Diagnostics.EventLogEntryType type, int eventID, short category, byte[] rawData);
member this.WriteEntry : string * System.Diagnostics.EventLogEntryType * int * int16 * byte[] -> unit
Public Sub WriteEntry (message As String, type As EventLogEntryType, eventID As Integer, category As Short, rawData As Byte())

パラメーター

message
String

イベント ログに書き込む文字列。

type
EventLogEntryType

EventLogEntryType 値のいずれか 1 つ。

eventID
Int32

イベントの、アプリケーション固有の識別子。

category
Int16

メッセージと関連付けられた、アプリケーション固有のサブカテゴリ。

rawData
Byte[]

エントリに関連付けられているバイナリ データを保持するバイト配列。

例外

SourceEventLog プロパティが設定されていません。

- または -

メソッドが新しいイベント ソースを登録しようとしましたが、MachineName のコンピューター名が無効です。

- または -

ソースは既に別のイベント ログに登録されています。

- または -

eventID が 0 より小さいか 、UInt16.MaxValue より大きい。

- または -

メッセージ文字列は 31,839 バイト (Windows Vista より前の Windows オペレーティング システムでは 32,766 バイト) を超えています。

- または -

ソース名は、254 文字を超えるレジストリ キーのパスになります。

イベント ログのレジストリ キーを開けませんでした。

type は有効な EventLogEntryType ではありません。

イベント エントリをイベント ログに書き込むときにオペレーティング システムからエラーが報告されました。 Windows のエラー コードは使用できません。

// Create the source, if it does not already exist.
String^ myLogName = "myNewLog";
if (  !EventLog::SourceExists( "MySource" ) )
{
   EventLog::CreateEventSource( "MySource", myLogName );
   Console::WriteLine( "Creating EventSource" );
}
else
   myLogName = EventLog::LogNameFromSourceName( "MySource", "." );

// Create an EventLog and assign source.
EventLog^ myEventLog = gcnew EventLog;
myEventLog->Source = "MySource";
myEventLog->Log = myLogName;

// Set the 'description' for the event.
String^ myMessage = "This is my event.";
EventLogEntryType myEventLogEntryType = EventLogEntryType::Warning;
int myApplicatinEventId = 1100;
short myApplicatinCategoryId = 1;

// Set the 'data' for the event.
array<Byte>^ myRawData = gcnew array<Byte>(4);
for ( int i = 0; i < 4; i++ )
{
   myRawData[ i ] = 1;
}
Console::WriteLine( "Writing to EventLog.. " );
myEventLog->WriteEntry( myMessage, myEventLogEntryType, myApplicatinEventId, myApplicatinCategoryId, myRawData );
// Create the source, if it does not already exist.
string myLogName = "myNewLog";
if(!EventLog.SourceExists("MySource"))
{
   // An event log source should not be created and immediately used.
   // There is a latency time to enable the source, it should be created
   // prior to executing the application that uses the source.
   // Execute this sample a second time to use the new source.
   EventLog.CreateEventSource("MySource", myLogName);
   Console.WriteLine("Created EventSource");
   Console.WriteLine("Exiting, execute the application a second time to use the source.");
   return;
}
else
   {
       myLogName = EventLog.LogNameFromSourceName("MySource",".");
   }
   // Create an EventLog and assign source.
   EventLog myEventLog = new EventLog();
myEventLog.Source = "MySource";
myEventLog.Log = myLogName;

// Set the 'description' for the event.
string myMessage = "This is my event.";
EventLogEntryType myEventLogEntryType = EventLogEntryType.Warning;
int myApplicatinEventId = 1100;
short myApplicatinCategoryId = 1;

// Set the 'data' for the event.
byte[] myRawData = new byte[4];
for(int i=0;i<4;i++)
{
   myRawData[i]=1;
}
// Write the entry in the event log.
Console.WriteLine("Writing to EventLog.. ");
myEventLog.WriteEntry(myMessage,myEventLogEntryType,
   myApplicatinEventId, myApplicatinCategoryId, myRawData);
' Create the source, if it does not already exist.
dim myLogName as string = "myNewLog"
If Not EventLog.SourceExists("MySource") Then
   EventLog.CreateEventSource("MySource", myLogName)
   Console.WriteLine("Creating EventSource")
else
   myLogName = EventLog.LogNameFromSourceName("MySource",".")
End If

' Create an EventLog and assign source.
Dim myEventLog As New EventLog()
myEventLog.Source = "MySource"
myEventLog.Log = myLogName

' Set the 'description' for the event.
Dim myMessage As String = "This is my event."
Dim myEventLogEntryType As EventLogEntryType = EventLogEntryType.Warning
Dim myApplicatinEventId As Integer = 1100
Dim myApplicatinCategoryId As Short = 1

' Set the 'data' for the event.
Dim myRawData(3) As Byte
Dim i As Integer
For i = 0 To 3
   myRawData(i) = 1
Next i
' Write the entry in the event log.
Console.WriteLine("Writing to EventLog.. ")
myEventLog.WriteEntry(myMessage, myEventLogEntryType, myApplicatinEventId, _
                     myApplicatinCategoryId, myRawData)

注釈

このオーバーロードを使用して、アプリケーション定義のイベント固有のデータをイベント ログに書き込みます。 イベント ビューアーはこのデータを解釈しません。生データは、16 進数とテキストの組み合わせ形式でのみ表示されます。 イベント固有のデータは、問題をデバッグしているユーザーにとって役に立つと確信している場合にのみ含め、慎重に使用してください。 また、イベント固有のデータを使用して、アプリケーションがイベント ビューアーとは別に処理できる情報を格納することもできます。 たとえば、イベント専用のビューアーを作成したり、ログ ファイルをスキャンしてイベント固有のデータからの情報を含むレポートを作成するプログラムを作成したりできます。

バイナリ データに加えて、アプリケーション定義のカテゴリとアプリケーション定義のイベント識別子を指定できます。 イベント ビューアーでは、 カテゴリを使用して、イベント ソースによって書き込まれたイベントをフィルター処理します。 イベント ビューアーは、カテゴリを数値として表示することも、カテゴリをリソース識別子として使用してローカライズされたカテゴリ文字列を表示することもできます。

注意

イベント ビューアーでは挿入文字列として扱われるため、文字列に message %n を含めることはできません。 n は整数値 (%1 など) です。 インターネット プロトコルバージョン 6 (IPv6) アドレスにはこの文字シーケンスを含めることができるため、IPv6 アドレスを含むイベント メッセージをログに記録することはできません。

注意

パラメーターは category 正の値である必要があります。 負のカテゴリ値は、イベント ビューアーで補完正の数値として表示されます。 たとえば、-10 は 65,526、-1 は 65,535 と表示されます。

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

イベント識別子とイベント ソースは、イベントを一意に識別します。 各アプリケーションは、独自の番号付きイベントと、マップ先の説明文字列を定義できます。 イベント ビューアーは、これらの文字列値を表示して、ユーザーが問題の原因を理解し、実行するアクションを提案するのに役立ちます。

最後に、イベント ログに書き込まれるイベントの を指定 EventLogEntryType できます。 はtype、ログのイベント ビューアーの [種類] 列のアイコンとテキストで示されます。 このパラメーターは、イベントの種類がエラー、警告、情報、成功監査、または失敗監査のいずれであるかを示します。

ログにエントリをSourceEventLog書き込む前に、コンポーネントの プロパティを設定する必要があります。 最初のエントリをソースと共に書き込む前に、イベント ソースを作成して構成する必要があります。

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

このEventLogインスタンスの プロパティでSource指定されたソースが、コンポーネントが書き込み先のコンピューターに登録されていない場合は、WriteEntryソースを呼び出CreateEventSourceして登録します。

注意

または WriteEntryを呼び出すCreateEventSource前にインスタンスに をEventLog指定MachineNameしない場合は、ローカル コンピューター (".") が想定されます。

への呼び出しWriteEntryによって システムが をSource登録する必要がありLog、 プロパティがインスタンスにEventLog設定されていない場合、ログは既定でアプリケーション ログに設定されます。

注意

上記の例外の多くは、 を登録 Sourceするプロセス中に発生したエラーによって生成されます。

ソースは、ローカライズされたエントリを書き込むか、直接文字列を書き込む目的で構成する必要があります。 メソッドは WriteEntry 、指定された文字列をイベント ログに直接書き込みます。ローカライズ可能なメッセージ リソース ファイルは使用しません。 ローカライズされたメッセージ リソース ファイルを WriteEvent 使用してイベントを書き込むには、 メソッドを使用します。

アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合は、2 つの個別のソースを登録する必要があります。 たとえば、リソース ファイルを使用して 1 つのソースを構成し、 メソッドでそのソースを WriteEvent 使用して、リソース識別子を使用してエントリをイベント ログに書き込みます。 次に、リソース ファイルのない別のソースを作成し、 メソッドでそのソースを WriteEntry 使用して、そのソースを使用してイベント ログに文字列を直接書き込みます。

注意

リモート コンピューターにエントリを書き込む場合、リモート コンピューターが.NET Frameworkを実行していない場合、メッセージの値 (テキスト文字列) が予期した値にならない可能性があります。

注意

パラメーターに message NUL 文字が含まれている場合、イベント ログ内のメッセージは NUL 文字で終了します。

こちらもご覧ください

適用対象

WriteEntry(String, String, EventLogEntryType, Int32)

指定した登録イベント ソースを使用して、指定したメッセージ テキストおよびアプリケーション定義のイベント識別子と共にエントリをイベント ログに書き込みます。

public:
 static void WriteEntry(System::String ^ source, System::String ^ message, System::Diagnostics::EventLogEntryType type, int eventID);
public static void WriteEntry (string source, string message, System.Diagnostics.EventLogEntryType type, int eventID);
static member WriteEntry : string * string * System.Diagnostics.EventLogEntryType * int -> unit
Public Shared Sub WriteEntry (source As String, message As String, type As EventLogEntryType, eventID As Integer)

パラメーター

source
String

アプリケーションを指定されたコンピューターに登録するために使用されるソース。

message
String

イベント ログに書き込む文字列。

type
EventLogEntryType

EventLogEntryType 値のいずれか 1 つ。

eventID
Int32

イベントの、アプリケーション固有の識別子。

例外

source 値が空の文字列 ("") です。

- または -

source 値は null です。

- または -

eventID が 0 より小さいか 、UInt16.MaxValue より大きい。

- または -

メッセージ文字列は 31,839 バイト (Windows Vista より前の Windows オペレーティング システムでは 32,766 バイト) を超えています。

- または -

ソース名は、254 文字を超えるレジストリ キーのパスになります。

イベント ログのレジストリ キーを開けませんでした。

type は有効な EventLogEntryType ではありません。

イベント エントリをイベント ログに書き込むときにオペレーティング システムからエラーが報告されました。 Windows のエラー コードは使用できません。

// Create the source, if it does not already exist.
if (  !EventLog::SourceExists( "MySource" ) )
{
   EventLog::CreateEventSource( "MySource", "myNewLog" );
   Console::WriteLine( "Creating EventSource" );
}

// Set the 'description' for the event.
String^ myMessage = "This is my event.";
EventLogEntryType myEventLogEntryType = EventLogEntryType::Warning;
int myApplicationEventId = 100;

// Write the entry in the event log.
Console::WriteLine( "Writing to EventLog.. " );
EventLog::WriteEntry( "MySource", myMessage,
   myEventLogEntryType, myApplicationEventId );
// Create the source, if it does not already exist.
if(!EventLog.SourceExists("MySource"))
{
   // An event log source should not be created and immediately used.
   // There is a latency time to enable the source, it should be created
   // prior to executing the application that uses the source.
   // Execute this sample a second time to use the new source.
   EventLog.CreateEventSource("MySource", "myNewLog");
   Console.WriteLine("Creating EventSource");
   Console.WriteLine("Exiting, execute the application a second time to use the source.");
   // The source is created.  Exit the application to allow it to be registered.
   return;
}

// Set the 'description' for the event.
string myMessage = "This is my event.";
EventLogEntryType myEventLogEntryType = EventLogEntryType.Warning;
int myApplicationEventId = 100;

// Write the entry in the event log.
Console.WriteLine("Writing to EventLog.. ");
EventLog.WriteEntry("MySource",myMessage,
   myEventLogEntryType, myApplicationEventId);
' Create the source, if it does not already exist.
If Not EventLog.SourceExists("MySource") Then
   EventLog.CreateEventSource("MySource", "myNewLog")
   Console.WriteLine("Creating EventSource")
End If

' Set the 'description' for the event.
Dim myMessage As String = "This is my event."
Dim myEventLogEntryType As EventLogEntryType = EventLogEntryType.Warning
Dim myApplicationEventId As Integer = 100

' Write the entry in the event log.
Console.WriteLine("Writing to EventLog.. ")
EventLog.WriteEntry("MySource", myMessage, myEventLogEntryType, myApplicationEventId)

注釈

適切なログのイベント ソースとして既に登録されているソースを使用して、アプリケーション定義 eventID のエントリをイベント ログに書き込むには、このメソッドを使用します。 は eventID、ソースと共にイベントを一意に識別します。 各アプリケーションは、独自の番号付きイベントと、マップ先の説明文字列を定義できます。 イベント ビューアーは、ユーザーにこれらの文字列を提示して、ユーザーが何が問題だったかを理解し、実行するアクションを提案します。

注意

イベント ビューアーでは message 挿入文字列として扱われるため、文字列に %n を含めることはできません。 n は整数値 (%1 など) です。 インターネット プロトコルバージョン 6 (IPv6) アドレスにはこの文字シーケンスを含めることができるため、IPv6 アドレスを含むイベント メッセージをログに記録することはできません。

イベント識別子に加えて、 のオーバーロード WriteEntry を使用すると、イベント ログに書き込まれるイベントの を指定 EventLogEntryType できます。 はtype、ログのイベント ビューアーの [種類] 列のアイコンとテキストで示されます。 このパラメーターは、イベントの種類がエラー、警告、情報、成功監査、または失敗監査であるかどうかを示します。

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

ソースは、ローカライズされたエントリを書き込むか、直接文字列を記述するように構成する必要があります。 メソッドは WriteEntry 、指定された文字列をイベント ログに直接書き込みます。ローカライズ可能なメッセージ リソース ファイルは使用しません。 メソッドを WriteEvent 使用して、ローカライズされたメッセージ リソース ファイルを使用してイベントを書き込みます。

アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合は、2 つの個別のソースを登録する必要があります。 たとえば、リソース ファイルを使用して 1 つのソースを構成し、 メソッドでそのソースを WriteEvent 使用して、リソース識別子を使用してエントリをイベント ログに書き込みます。 次に、リソース ファイルを含まない別のソースを作成し、 メソッドでそのソースを WriteEntry 使用して、そのソースを使用してイベント ログに文字列を直接書き込みます。

注意

パラメーターに message NUL 文字が含まれている場合、イベント ログ内のメッセージは NUL 文字で終了します。

こちらもご覧ください

適用対象

WriteEntry(String, EventLogEntryType, Int32, Int16)

指定したメッセージ テキスト、アプリケーション定義のイベント識別子、およびアプリケーション定義のカテゴリと共にエントリをイベント ログに書き込みます。

public:
 void WriteEntry(System::String ^ message, System::Diagnostics::EventLogEntryType type, int eventID, short category);
public void WriteEntry (string message, System.Diagnostics.EventLogEntryType type, int eventID, short category);
member this.WriteEntry : string * System.Diagnostics.EventLogEntryType * int * int16 -> unit
Public Sub WriteEntry (message As String, type As EventLogEntryType, eventID As Integer, category As Short)

パラメーター

message
String

イベント ログに書き込む文字列。

type
EventLogEntryType

EventLogEntryType 値のいずれか 1 つ。

eventID
Int32

イベントの、アプリケーション固有の識別子。

category
Int16

メッセージと関連付けられた、アプリケーション固有のサブカテゴリ。

例外

SourceEventLog プロパティが設定されていません。

- または -

メソッドが新しいイベント ソースを登録しようとしましたが、MachineName のコンピューター名が無効です。

- または -

ソースは既に別のイベント ログに登録されています。

- または -

eventID が 0 より小さいか 、UInt16.MaxValue より大きい。

- または -

メッセージ文字列は 31,839 バイト (Windows Vista より前の Windows オペレーティング システムでは 32,766 バイト) を超えています。

- または -

ソース名は、254 文字を超えるレジストリ キーのパスになります。

イベント ログのレジストリ キーを開けませんでした。

type は有効な EventLogEntryType ではありません。

イベント エントリをイベント ログに書き込むときにオペレーティング システムからエラーが報告されました。 Windows のエラー コードは使用できません。

// Create an EventLog instance and assign its source.
EventLog^ myLog = gcnew EventLog;
myLog->Source = "ThirdSource";

// Write an informational entry to the event log.
Console::WriteLine( "Write from third source " );
myLog->WriteEntry( "Writing warning to event log.",
   EventLogEntryType::Warning, myEventID, myCategory );
// Create an EventLog instance and assign its source.
EventLog myLog = new EventLog();
myLog.Source = "ThirdSource";

// Write an informational entry to the event log.
Console.WriteLine("Write from third source ");
myLog.WriteEntry("Writing warning to event log.",
                  EventLogEntryType.Warning, myEventID, myCategory);
' Create an EventLog instance and assign its source.
Dim myLog As New EventLog()
myLog.Source = "ThirdSource"

' Write an informational entry to the event log.
Console.WriteLine("Write from third source ")
myLog.WriteEntry("Writing warning to event log.", EventLogEntryType.Warning, _
                     myEventID, myCategory)

注釈

アプリケーション定義 category のエントリをイベント ログに書き込むには、このメソッドを使用します。 イベント ビューアーでは、 カテゴリを使用して、イベント ソースによって書き込まれたイベントをフィルター処理します。 イベント ビューアーは、カテゴリを数値として表示することも、カテゴリをリソース識別子として使用してローカライズされたカテゴリ文字列を表示することもできます。

注意

パラメーターは category 正の値である必要があります。 負のカテゴリ値は、イベント ビューアーで相補正数として表示されます。 たとえば、-10 は 65,526、-1 は 65,535 と表示されます。

注意

イベント ビューアーでは message 挿入文字列として扱われるため、文字列に %n を含めることはできません。 n は整数値 (%1 など) です。 インターネット プロトコルバージョン 6 (IPv6) アドレスにはこの文字シーケンスを含めることができるため、IPv6 アドレスを含むイベント メッセージをログに記録することはできません。

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

カテゴリに加えて、イベント ログに書き込まれるイベントのイベント識別子を指定できます。 イベント識別子とイベント ソースは、イベントを一意に識別します。 各アプリケーションは、独自の番号付きイベントと、マップ先の説明文字列を定義できます。 イベント ビューアーは、ユーザーが問題を理解し、実行するアクションを提案するのに役立つ、これらの文字列値を表示します。

最後に、イベント ログに書き込まれるイベントの を指定 EventLogEntryType できます。 はtype、ログのイベント ビューアーの [種類] 列のアイコンとテキストで示されます。 このパラメーターは、イベントの種類がエラー、警告、情報、成功監査、または失敗監査であるかどうかを示します。

エントリをログに Source 書き込む前に、コンポーネントの EventLog プロパティを設定する必要があります。 最初のエントリをソースと共に書き込む前に、イベント ソースを作成して構成する必要があります。

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

このEventLogインスタンスの プロパティでSource指定されたソースが、コンポーネントが書き込むコンピューターに登録されていない場合は、WriteEntryソースを呼び出CreateEventSourceして登録します。

注意

または WriteEntryを呼び出すCreateEventSource前にインスタンスに をEventLog指定MachineNameしない場合は、ローカル コンピューター (".") が想定されます。

システムが への呼び出しWriteEntryを介して をSource登録する必要がありLog、 プロパティがインスタンスにEventLog設定されていない場合、ログは既定でアプリケーション ログに設定されます。

注意

上記の例外の多くは、 を登録 Sourceするプロセス中に発生したエラーによって生成されます。

ソースは、ローカライズされたエントリを書き込むか、直接文字列を記述するように構成する必要があります。 メソッドは WriteEntry 、指定された文字列をイベント ログに直接書き込みます。ローカライズ可能なメッセージ リソース ファイルは使用しません。 メソッドを WriteEvent 使用して、ローカライズされたメッセージ リソース ファイルを使用してイベントを書き込みます。

アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合は、2 つの個別のソースを登録する必要があります。 たとえば、リソース ファイルを使用して 1 つのソースを構成し、 メソッドでそのソースを WriteEvent 使用して、リソース識別子を使用してエントリをイベント ログに書き込みます。 次に、リソース ファイルのない別のソースを作成し、 メソッドでそのソースを WriteEntry 使用して、そのソースを使用してイベント ログに文字列を直接書き込みます。

注意

リモート コンピューターにエントリを書き込む場合、リモート コンピューターが.NET Frameworkを実行していない場合、メッセージの値 (テキスト文字列) が予期した値にならない可能性があります。

注意

パラメーターに message NUL 文字が含まれている場合、イベント ログ内のメッセージは NUL 文字で終了します。

こちらもご覧ください

適用対象

WriteEntry(String, EventLogEntryType)

エラー、警告、情報、監査正常終了、または監査エラー エントリを、指定したメッセージ テキストと共にイベント ログに書き込みます。

public:
 void WriteEntry(System::String ^ message, System::Diagnostics::EventLogEntryType type);
public void WriteEntry (string message, System.Diagnostics.EventLogEntryType type);
member this.WriteEntry : string * System.Diagnostics.EventLogEntryType -> unit
Public Sub WriteEntry (message As String, type As EventLogEntryType)

パラメーター

message
String

イベント ログに書き込む文字列。

type
EventLogEntryType

EventLogEntryType 値のいずれか 1 つ。

例外

SourceEventLog プロパティが設定されていません。

- または -

メソッドが新しいイベント ソースを登録しようとしましたが、MachineName のコンピューター名が無効です。

- または -

ソースは既に別のイベント ログに登録されています。

- または -

メッセージ文字列は 31,839 バイト (Windows Vista より前の Windows オペレーティング システムでは 32,766 バイト) を超えています。

- または -

ソース名は、254 文字を超えるレジストリ キーのパスになります。

type は有効な EventLogEntryType ではありません。

イベント ログのレジストリ キーを開けませんでした。

イベント エントリをイベント ログに書き込むときにオペレーティング システムからエラーが報告されました。 Windows のエラー コードは使用できません。

次の例では、ローカル コンピューターのイベント ログ "MyNewLog" に警告エントリを書き込みます。

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   
   // Create an EventLog instance and assign its source.
   EventLog^ myLog = gcnew EventLog("MyNewLog");
   myLog->Source = "MyNewLogSource";
   
   // Write an informational entry to the event log.    
   myLog->WriteEntry( "Writing warning to event log.", EventLogEntryType::Warning );
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample1
{

    public static void Main()
    {

        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog("MyNewLog");
        myLog.Source = "MyNewLogSource";

        // Write an informational entry to the event log.
        myLog.WriteEntry("Writing warning to event log.", EventLogEntryType.Warning);
    }
}
Option Strict
Option Explicit

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        ' Create an EventLog instance and assign its source.
        Dim myLog As New EventLog("MyNewLog")
        myLog.Source = "MyNewLogSource"
        
        ' Write an informational entry to the event log.    
        myLog.WriteEntry("Writing warning to event log.", EventLogEntryType.Warning)
    End Sub
End Class

注釈

指定した EventLogEntryType のエントリをイベント ログに書き込むには、このメソッドを使用します。 はtype、ログのイベント ビューアーの [種類] 列のアイコンとテキストで示されます。

注意

イベント ビューアーでは挿入文字列として扱われるため、文字列に message %n を含めることはできません。 n は整数値 (%1 など) です。 インターネット プロトコルバージョン 6 (IPv6) アドレスにはこの文字シーケンスを含めることができるため、IPv6 アドレスを含むイベント メッセージをログに記録することはできません。

ログにエントリをSourceEventLog書き込む前に、コンポーネントの プロパティを設定する必要があります。 最初のエントリをソースと共に書き込む前に、イベント ソースを作成して構成する必要があります。

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

このEventLogインスタンスの プロパティでSource指定されたソースが、コンポーネントが書き込み先のコンピューターに登録されていない場合は、WriteEntryソースを呼び出CreateEventSourceして登録します。

注意

または WriteEntryを呼び出すCreateEventSource前にインスタンスに をEventLog指定MachineNameしない場合は、ローカル コンピューター (".") が想定されます。

への呼び出しWriteEntryによって システムが をSource登録する必要がありLog、 プロパティがインスタンスにEventLog設定されていない場合、ログは既定でアプリケーション ログに設定されます。

注意

上記の例外の多くは、 を登録 Sourceするプロセス中に発生したエラーによって生成されます。

ソースは、ローカライズされたエントリを書き込むか、直接文字列を書き込む目的で構成する必要があります。 メソッドは WriteEntry 、指定された文字列をイベント ログに直接書き込みます。ローカライズ可能なメッセージ リソース ファイルは使用しません。 ローカライズされたメッセージ リソース ファイルを WriteEvent 使用してイベントを書き込むには、 メソッドを使用します。

アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合は、2 つの個別のソースを登録する必要があります。 たとえば、リソース ファイルを使用して 1 つのソースを構成し、 メソッドでそのソースを WriteEvent 使用して、リソース識別子を使用してエントリをイベント ログに書き込みます。 次に、リソース ファイルのない別のソースを作成し、 メソッドでそのソースを WriteEntry 使用して、そのソースを使用してイベント ログに文字列を直接書き込みます。

注意

リモート コンピューターにエントリを書き込む場合、リモート コンピューターが.NET Frameworkを実行していない場合、メッセージの値 (テキスト文字列) が予期した値にならない可能性があります。

注意

パラメーターに message NUL 文字が含まれている場合、イベント ログ内のメッセージは NUL 文字で終了します。

こちらもご覧ください

適用対象

WriteEntry(String, EventLogEntryType, Int32)

エントリを、指定したメッセージ テキストおよびアプリケーション定義のイベント識別子と共にイベント ログに書き込みます。

public:
 void WriteEntry(System::String ^ message, System::Diagnostics::EventLogEntryType type, int eventID);
public void WriteEntry (string message, System.Diagnostics.EventLogEntryType type, int eventID);
member this.WriteEntry : string * System.Diagnostics.EventLogEntryType * int -> unit
Public Sub WriteEntry (message As String, type As EventLogEntryType, eventID As Integer)

パラメーター

message
String

イベント ログに書き込む文字列。

type
EventLogEntryType

EventLogEntryType 値のいずれか 1 つ。

eventID
Int32

イベントの、アプリケーション固有の識別子。

例外

SourceEventLog プロパティが設定されていません。

- または -

メソッドが新しいイベント ソースを登録しようとしましたが、MachineName のコンピューター名が無効です。

- または -

ソースは既に別のイベント ログに登録されています。

- または -

eventID が 0 より小さいか 、UInt16.MaxValue より大きい。

- または -

メッセージ文字列は 31,839 バイト (Windows Vista より前の Windows オペレーティング システムでは 32,766 バイト) を超えています。

- または -

ソース名は、254 文字を超えるレジストリ キーのパスになります。

イベント ログのレジストリ キーを開けませんでした。

type は有効な EventLogEntryType ではありません。

イベント エントリをイベント ログに書き込むときにオペレーティング システムからエラーが報告されました。 Windows のエラー コードは使用できません。

// Create an EventLog instance and assign its source.
EventLog^ myLog = gcnew EventLog;
myLog->Source = "ThirdSource";

// Write an informational entry to the event log.
Console::WriteLine( "Write from third source " );
myLog->WriteEntry( "Writing warning to event log.",
   EventLogEntryType::Warning, myEventID, myCategory );
// Create an EventLog instance and assign its source.
EventLog myLog = new EventLog();
myLog.Source = "ThirdSource";

// Write an informational entry to the event log.
Console.WriteLine("Write from third source ");
myLog.WriteEntry("Writing warning to event log.",
                  EventLogEntryType.Warning, myEventID, myCategory);
' Create an EventLog instance and assign its source.
Dim myLog As New EventLog()
myLog.Source = "ThirdSource"

' Write an informational entry to the event log.
Console.WriteLine("Write from third source ")
myLog.WriteEntry("Writing warning to event log.", EventLogEntryType.Warning, _
                     myEventID, myCategory)

注釈

アプリケーション定義 eventID のエントリをイベント ログに書き込むには、このメソッドを使用します。 ソース eventID と共に イベントを一意に識別します。 各アプリケーションは、独自の番号付きイベントと、マップ先の説明文字列を定義できます。 イベント ビューアーは、これらの文字列値を表示して、ユーザーが問題の原因を理解し、実行するアクションを提案するのに役立ちます。

注意

イベント ビューアーでは挿入文字列として扱われるため、文字列に message %n を含めることはできません。 n は整数値 (%1 など) です。 インターネット プロトコルバージョン 6 (IPv6) アドレスにはこの文字シーケンスを含めることができるため、IPv6 アドレスを含むイベント メッセージをログに記録することはできません。

イベント識別子に加えて、イベント ログに書き込まれるイベントの を指定 EventLogEntryType できます。 はtype、ログのイベント ビューアーの [種類] 列のアイコンとテキストで示されます。 このパラメーターは、イベントの種類がエラー、警告、情報、成功監査、または失敗監査のいずれであるかを示します。

ログにエントリをSourceEventLog書き込む前に、コンポーネントの プロパティを設定する必要があります。 最初のエントリをソースと共に書き込む前に、イベント ソースを作成して構成する必要があります。

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

このEventLogインスタンスの プロパティでSource指定されたソースが、コンポーネントが書き込み先のコンピューターに登録されていない場合は、WriteEntryソースを呼び出CreateEventSourceして登録します。

注意

または WriteEntryを呼び出すCreateEventSource前にインスタンスに をEventLog指定MachineNameしない場合は、ローカル コンピューター (".") が想定されます。

への呼び出しWriteEntryによって システムが をSource登録する必要がありLog、 プロパティがインスタンスにEventLog設定されていない場合、ログは既定でアプリケーション ログに設定されます。

注意

上記の例外の多くは、 を登録 Sourceするプロセス中に発生したエラーによって生成されます。

ソースは、ローカライズされたエントリを書き込むか、直接文字列を書き込む目的で構成する必要があります。 メソッドは WriteEntry 、指定された文字列をイベント ログに直接書き込みます。ローカライズ可能なメッセージ リソース ファイルは使用しません。 ローカライズされたメッセージ リソース ファイルを WriteEvent 使用してイベントを書き込むには、 メソッドを使用します。

アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合は、2 つの個別のソースを登録する必要があります。 たとえば、リソース ファイルを使用して 1 つのソースを構成し、 メソッドでそのソースを WriteEvent 使用して、リソース識別子を使用してエントリをイベント ログに書き込みます。 次に、リソース ファイルのない別のソースを作成し、 メソッドでそのソースを WriteEntry 使用して、そのソースを使用してイベント ログに文字列を直接書き込みます。

注意

リモート コンピューターにエントリを書き込む場合、リモート コンピューターが.NET Frameworkを実行していない場合、メッセージの値 (テキスト文字列) が予期した値にならない可能性があります。

注意

パラメーターに message NUL 文字が含まれている場合、イベント ログ内のメッセージは NUL 文字で終了します。

こちらもご覧ください

適用対象

WriteEntry(String, String)

指定した登録イベント ソースを使用して、種類が Information のエントリを、指定したメッセージ テキストと共にイベント ログに書き込みます。

public:
 static void WriteEntry(System::String ^ source, System::String ^ message);
public static void WriteEntry (string source, string message);
static member WriteEntry : string * string -> unit
Public Shared Sub WriteEntry (source As String, message As String)

パラメーター

source
String

アプリケーションを指定されたコンピューターに登録するために使用されるソース。

message
String

イベント ログに書き込む文字列。

例外

source 値が空の文字列 ("") です。

- または -

source 値は null です。

- または -

メッセージ文字列は 31,839 バイト (Windows Vista より前の Windows オペレーティング システムでは 32,766 バイト) を超えています。

- または -

ソース名は、254 文字を超えるレジストリ キーのパスになります。

イベント ログのレジストリ キーを開けませんでした。

イベント エントリをイベント ログに書き込むときにオペレーティング システムからエラーが報告されました。 Windows のエラー コードは使用できません。

次の例では、ソース MySource がまだ存在しない場合は作成し、イベント ログ にエントリを書き込みます MyNewLog

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   
   // Create the source, if it does not already exist.
   if (  !EventLog::SourceExists( "MySource" ) )
   {
      EventLog::CreateEventSource( "MySource", "myNewLog" );
      Console::WriteLine( "CreatingEventSource" );
   }

   
   // Write an informational entry to the event log.    
   EventLog::WriteEntry( "MySource", "Writing to event log." );
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample
{

    public static void Main()
    {

        // Create the source, if it does not already exist.
        if (!EventLog.SourceExists("MySource"))
        {
            // An event log source should not be created and immediately used.
            // There is a latency time to enable the source, it should be created
            // prior to executing the application that uses the source.
            // Execute this sample a second time to use the new source.
            EventLog.CreateEventSource("MySource", "myNewLog");
            Console.WriteLine("CreatingEventSource");
            Console.WriteLine("Exiting, execute the application a second time to use the source.");
            // The source is created.  Exit the application to allow it to be registered.
            return;
        }

        // Write an informational entry to the event log.
        EventLog.WriteEntry("MySource", "Writing to event log.");
    }
}
Option Strict
Option Explicit

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        ' Create the source, if it does not already exist.
        If Not EventLog.SourceExists("MySource") Then
            EventLog.CreateEventSource("MySource", "myNewLog")
            Console.WriteLine("CreatingEventSource")
        End If
        
        
        ' Write an informational entry to the event log.    
        EventLog.WriteEntry("MySource", "Writing to event log.")
    End Sub
End Class

注釈

適切なログのイベント ソースとして既に登録されているソースを使用して、イベント ログに情報エントリを書き込むには、このメソッドを使用します。 他 EventLogEntryTypeの を指定する場合は、 の別の WriteEntryオーバーロードを使用します。

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

ソースは、ローカライズされたエントリを書き込むか、直接文字列を書き込む目的で構成する必要があります。 メソッドは WriteEntry 、指定された文字列をイベント ログに直接書き込みます。ローカライズ可能なメッセージ リソース ファイルは使用しません。 ローカライズされたメッセージ リソース ファイルを WriteEvent 使用してイベントを書き込むには、 メソッドを使用します。

アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合は、2 つの個別のソースを登録する必要があります。 たとえば、リソース ファイルを使用して 1 つのソースを構成し、 メソッドでそのソースを WriteEvent 使用して、リソース識別子を使用してエントリをイベント ログに書き込みます。 次に、リソース ファイルのない別のソースを作成し、 メソッドでそのソースを WriteEntry 使用して、そのソースを使用してイベント ログに文字列を直接書き込みます。

注意

パラメーターに message NUL 文字が含まれている場合、イベント ログ内のメッセージは NUL 文字で終了します。

イベント ビューアーでは挿入文字列として扱われるため、文字列に message %n を含めることはできません。 n は整数値 (%1 など) です。 インターネット プロトコルバージョン 6 (IPv6) アドレスにはこの文字シーケンスを含めることができるため、IPv6 アドレスを含むイベント メッセージをログに記録することはできません。

こちらもご覧ください

適用対象

WriteEntry(String)

種類が Information のエントリを、指定したメッセージ テキストと共にイベント ログに書き込みます。

public:
 void WriteEntry(System::String ^ message);
public void WriteEntry (string message);
member this.WriteEntry : string -> unit
Public Sub WriteEntry (message As String)

パラメーター

message
String

イベント ログに書き込む文字列。

例外

SourceEventLog プロパティが設定されていません。

- または -

メソッドが新しいイベント ソースを登録しようとしましたが、MachineName のコンピューター名が無効です。

- または -

ソースは既に別のイベント ログに登録されています。

- または -

メッセージ文字列は 31,839 バイト (Windows Vista より前の Windows オペレーティング システムでは 32,766 バイト) を超えています。

- または -

ソース名は、254 文字を超えるレジストリ キーのパスになります。

イベント ログのレジストリ キーを開けませんでした。

イベント エントリをイベント ログに書き込むときにオペレーティング システムからエラーが報告されました。 Windows のエラー コードは使用できません。

次の例では、ソース MySource がまだ存在しない場合は作成し、イベント ログ にエントリを書き込みます MyNewLog

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   
   // Create the source, if it does not already exist.
   if (  !EventLog::SourceExists( "MySource" ) )
   {
      //An event log source should not be created and immediately used.
      //There is a latency time to enable the source, it should be created
      //prior to executing the application that uses the source.
      //Execute this sample a second time to use the new source.
      EventLog::CreateEventSource( "MySource", "MyNewLog" );
      Console::WriteLine( "CreatingEventSource" );
      // The source is created.  Exit the application to allow it to be registered.
      return 0;
   }

   
   // Create an EventLog instance and assign its source.
   EventLog^ myLog = gcnew EventLog;
   myLog->Source = "MySource";
   
   // Write an informational entry to the event log.    
   myLog->WriteEntry( "Writing to event log." );
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample{

    public static void Main(){

        // Create the source, if it does not already exist.
        if(!EventLog.SourceExists("MySource"))
        {
             //An event log source should not be created and immediately used.
             //There is a latency time to enable the source, it should be created
             //prior to executing the application that uses the source.
             //Execute this sample a second time to use the new source.
            EventLog.CreateEventSource("MySource", "MyNewLog");
            Console.WriteLine("CreatedEventSource");
            Console.WriteLine("Exiting, execute the application a second time to use the source.");
            // The source is created.  Exit the application to allow it to be registered.
            return;
        }

        // Create an EventLog instance and assign its source.
        EventLog myLog = new EventLog();
        myLog.Source = "MySource";

        // Write an informational entry to the event log.
        myLog.WriteEntry("Writing to event log.");
    }
}
Option Explicit
Option Strict

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        
        If Not EventLog.SourceExists("MySource") Then
            ' Create the source, if it does not already exist.
            ' An event log source should not be created and immediately used.
            ' There is a latency time to enable the source, it should be created
            ' prior to executing the application that uses the source.
            ' Execute this sample a second time to use the new source.
            EventLog.CreateEventSource("MySource", "MyNewLog")
            Console.WriteLine("CreatingEventSource")
            'The source is created.  Exit the application to allow it to be registered.
            Return
        End If
        
        ' Create an EventLog instance and assign its source.
        Dim myLog As New EventLog()
        myLog.Source = "MySource"
        
        ' Write an informational entry to the event log.    
        myLog.WriteEntry("Writing to event log.")
    End Sub
End Class

注釈

このメソッドを使用して、この EventLog インスタンスに関連付けられているイベント ログに情報エントリを書き込みます。 他 EventLogEntryTypeの を指定する場合は、 の別の WriteEntryオーバーロードを使用します。

注意

イベント ビューアーでは挿入文字列として扱われるため、文字列に message %n を含めることはできません。 n は整数値 (%1 など) です。 インターネット プロトコルバージョン 6 (IPv6) アドレスにはこの文字シーケンスを含めることができるため、IPv6 アドレスを含むイベント メッセージをログに記録することはできません。

ログにエントリをSourceEventLog書き込む前に、コンポーネントの プロパティを設定する必要があります。 最初のエントリをソースと共に書き込む前に、イベント ソースを作成して構成する必要があります。

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

このEventLogインスタンスの プロパティでSource指定されたソースが、コンポーネントが書き込み先のコンピューターに登録されていない場合は、WriteEntryソースを呼び出CreateEventSourceして登録します。

注意

または WriteEntryを呼び出すCreateEventSource前にインスタンスに をEventLog指定MachineNameしない場合は、ローカル コンピューター (".") が想定されます。

への呼び出しWriteEntryによって システムが をSource登録する必要がありLog、 プロパティがインスタンスにEventLog設定されていない場合、ログは既定でアプリケーション ログに設定されます。

注意

上記の例外の多くは、 を登録 Sourceするプロセス中に発生したエラーによって生成されます。

ソースは、ローカライズされたエントリを書き込むか、直接文字列を書き込む目的で構成する必要があります。 メソッドは WriteEntry 、指定された文字列をイベント ログに直接書き込みます。ローカライズ可能なメッセージ リソース ファイルは使用しません。 ローカライズされたメッセージ リソース ファイルを WriteEvent 使用してイベントを書き込むには、 メソッドを使用します。

アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合は、2 つの個別のソースを登録する必要があります。 たとえば、リソース ファイルを使用して 1 つのソースを構成し、 メソッドでそのソースを WriteEvent 使用して、リソース識別子を使用してエントリをイベント ログに書き込みます。 次に、リソース ファイルのない別のソースを作成し、 メソッドでそのソースを WriteEntry 使用して、そのソースを使用してイベント ログに文字列を直接書き込みます。

注意

リモート コンピューターにエントリを書き込む場合、リモート コンピューターが.NET Frameworkを実行していない場合、メッセージの値 (テキスト文字列) が予期した値にならない可能性があります。

注意

パラメーターに message NUL 文字が含まれている場合、イベント ログ内のメッセージは NUL 文字で終了します。

こちらもご覧ください

適用対象

WriteEntry(String, String, EventLogEntryType)

指定した登録イベント ソースを使用して、エラー、警告、情報、監査正常終了、または監査エラー エントリを、指定したメッセージ テキストと共にイベント ログに書き込みます。

public:
 static void WriteEntry(System::String ^ source, System::String ^ message, System::Diagnostics::EventLogEntryType type);
public static void WriteEntry (string source, string message, System.Diagnostics.EventLogEntryType type);
static member WriteEntry : string * string * System.Diagnostics.EventLogEntryType -> unit
Public Shared Sub WriteEntry (source As String, message As String, type As EventLogEntryType)

パラメーター

source
String

アプリケーションを指定されたコンピューターに登録するために使用されるソース。

message
String

イベント ログに書き込む文字列。

type
EventLogEntryType

EventLogEntryType 値のいずれか 1 つ。

例外

source 値が空の文字列 ("") です。

- または -

source 値は null です。

- または -

メッセージ文字列は 31,839 バイト (Windows Vista より前の Windows オペレーティング システムでは 32,766 バイト) を超えています。

- または -

ソース名は、254 文字を超えるレジストリ キーのパスになります。

イベント ログのレジストリ キーを開けませんでした。

type は有効な EventLogEntryType ではありません。

イベント エントリをイベント ログに書き込むときにオペレーティング システムからエラーが報告されました。 Windows のエラー コードは使用できません。

次の例では、ローカル コンピューターのイベント ログ "MyNewLog" に警告エントリを書き込みます。

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   
   // Write an informational entry to the event log.    
   EventLog::WriteEntry( "MySource", "Writing warning to event log.", EventLogEntryType::Warning );
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample2
{

    public static void Main()
    {

        // Write an informational entry to the event log.
        EventLog.WriteEntry("MySource",
            "Writing warning to event log.",
            EventLogEntryType.Warning);
    }
}
Option Explicit
Option Strict

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        ' Write an informational entry to the event log.    
        EventLog.WriteEntry("MySource", "Writing warning to event log.", _
            EventLogEntryType.Warning)
    End Sub
End Class

注釈

適切なログのイベント ソースとして既に登録されているソースを使用して、指定した EventLogEntryType のエントリをイベント ログに書き込むには、このメソッドを使用します。 はtype、ログのイベント ビューアーの [種類] 列のアイコンとテキストで示されます。

注意

イベント ビューアーでは挿入文字列として扱われるため、文字列に message %n を含めることはできません。 n は整数値 (%1 など) です。 インターネット プロトコルバージョン 6 (IPv6) アドレスにはこの文字シーケンスを含めることができるため、IPv6 アドレスを含むイベント メッセージをログに記録することはできません。

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

ソースは、ローカライズされたエントリを書き込むか、直接文字列を記述するように構成する必要があります。 メソッドは WriteEntry 、指定された文字列をイベント ログに直接書き込みます。ローカライズ可能なメッセージ リソース ファイルは使用しません。 メソッドを WriteEvent 使用して、ローカライズされたメッセージ リソース ファイルを使用してイベントを書き込みます。

アプリケーションがリソース識別子と文字列値の両方を使用してエントリを書き込む場合は、2 つの個別のソースを登録する必要があります。 たとえば、リソース ファイルを使用して 1 つのソースを構成し、 メソッドでそのソースを WriteEvent 使用して、リソース識別子を使用してエントリをイベント ログに書き込みます。 次に、リソース ファイルを含まない別のソースを作成し、 メソッドでそのソースを WriteEntry 使用して、そのソースを使用してイベント ログに文字列を直接書き込みます。

注意

パラメーターに message NUL 文字が含まれている場合、イベント ログ内のメッセージは NUL 文字で終了します。

こちらもご覧ください

適用対象