次の方法で共有


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)

指定した登録済みイベント ソースを使用して、指定されたメッセージ テキストを含む情報の種類のエントリをイベント ログに書き込みます。

WriteEntry(String)

指定されたメッセージ テキストを含む情報の種類のエントリをイベント ログに書き込みます。

WriteEntry(String, String, EventLogEntryType)

指定した登録済みイベント ソースを使用して、指定されたメッセージ テキストを含むエラー、警告、情報、成功監査、または失敗監査エントリをイベント ログに書き込みます。

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

ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs

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

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.
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 がカテゴリ リソース ファイル内の文字列のインデックスを作成しない場合、イベント ビューアーには、そのエントリの数値カテゴリ値が表示されます。 EventLogInstallerまたはEventSourceCreationData クラスを使用して、カテゴリ リソース ファイルとリソース ファイル内のカテゴリ文字列の数を構成します。

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

最後に、イベント ログに書き込まれるイベントの 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)

ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs

指定した登録済みイベント ソースを使用して、指定されたメッセージ テキスト、アプリケーション定義イベント識別子、およびアプリケーション定義カテゴリを含むエントリをイベント ログに書き込みます。 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);
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[])

ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs

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

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[]

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

例外

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

-又は-

メソッドは新しいイベント ソースを登録しようとしましたが、 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"))
{
   // 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は、ログのイベント ビューアーの [種類] 列のアイコンとテキストによって示されます。 このパラメーターは、イベントの種類がエラー、警告、情報、成功監査、または失敗監査のどちらであるかを示します。

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

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

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

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

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

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

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

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

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

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

こちらもご覧ください

適用対象

WriteEntry(String, String, EventLogEntryType, Int32)

ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs

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

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"))
{
   // 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)

ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs

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

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

メッセージに関連付けられているアプリケーション固有のサブカテゴリ。

例外

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

-又は-

メソッドは新しいイベント ソースを登録しようとしましたが、 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 = 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 がカテゴリ リソース ファイル内の文字列のインデックスを作成しない場合、イベント ビューアーには、そのエントリの数値カテゴリ値が表示されます。 EventLogInstallerまたはEventSourceCreationData クラスを使用して、カテゴリ リソース ファイルとリソース ファイル内のカテゴリ文字列の数を構成します。

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

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

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

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

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

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

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

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

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

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

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

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

こちらもご覧ください

適用対象

WriteEntry(String, EventLogEntryType)

ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs

指定されたメッセージ テキストを含むエラー、警告、情報、成功監査、または失敗監査エントリをイベント ログに書き込みます。

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 つ。

例外

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

-又は-

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

-又は-

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

-又は-

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

-又は-

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

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

イベント ログのレジストリ キーを開くことができませんでした。

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

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

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 アドレスを含むイベント メッセージをログに記録することはできません。

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

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

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

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

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

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

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

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

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

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

こちらもご覧ください

適用対象

WriteEntry(String, EventLogEntryType, Int32)

ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs

指定されたメッセージ テキストとアプリケーション定義のイベント識別子を持つエントリをイベント ログに書き込みます。

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

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

例外

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

-又は-

メソッドは新しいイベント ソースを登録しようとしましたが、 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 = 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は、ログのイベント ビューアーの [種類] 列のアイコンとテキストによって示されます。 このパラメーターは、イベントの種類がエラー、警告、情報、成功監査、または失敗監査のどちらであるかを示します。

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

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

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

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

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

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

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

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

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

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

こちらもご覧ください

適用対象

WriteEntry(String, String)

ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs

指定した登録済みイベント ソースを使用して、指定されたメッセージ テキストを含む情報の種類のエントリをイベント ログに書き込みます。

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;
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)

ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs

指定されたメッセージ テキストを含む情報の種類のエントリをイベント ログに書き込みます。

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

パラメーター

message
String

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

例外

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

-又は-

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

-又は-

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

-又は-

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

-又は-

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

イベント ログのレジストリ キーを開くことができませんでした。

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

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

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 アドレスを含むイベント メッセージをログに記録することはできません。

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

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

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

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

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

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

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

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

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

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

こちらもご覧ください

適用対象

WriteEntry(String, String, EventLogEntryType)

ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs
ソース:
EventLog.cs

指定した登録済みイベント ソースを使用して、指定されたメッセージ テキストを含むエラー、警告、情報、成功監査、または失敗監査エントリをイベント ログに書き込みます。

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;
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 文字で終了します。

こちらもご覧ください

適用対象