EventLog.Entries プロパティ
イベント ログの内容を取得します。
Public ReadOnly Property Entries As EventLogEntryCollection
[C#]
public EventLogEntryCollection Entries {get;}
[C++]
public: __property EventLogEntryCollection* get_Entries();
[JScript]
public function get Entries() : EventLogEntryCollection;
プロパティ値
イベント ログのエントリを保持する EventLogEntryCollection 。1 つのエントリが EventLogEntry クラスの 1 つのインスタンスに関連付けられます。
解説
イベント ログを読み取るときに、 Entries メンバを使用します。
Entries は読み取り専用であるため、このプロパティを使用してエントリを変更したり、ログに書き込んだりすることはできません。代わりに Source を指定し、 WriteEntry を呼び出して新しいログ エントリを書き込みます。 Entries を使用して、イベント ログ内のエントリ数をカウントしたり、コレクション内の各 EventLogEntry を表示したりできます。インデックス付きの Item メンバを使用すると、 Message 、 Category 、 TimeWritten 、 EntryType などの特定のエントリについての情報を取得できます。
ログから読み取るだけの場合は Source を指定する必要はありません。指定できるのは、 EventLog インスタンスの Log 名のプロパティと MachineName (サーバー コンピュータ名) プロパティだけです。どちらの場合も、 Entries メンバには自動的にイベント ログのエントリ リストが設定されます。このリストの項目に対応する適切なインデックスを選択することで、個別のエントリを読み取ることができます。
ログ エントリの読み取りと書き込みの重要な相違は、読み取りのときに読み取りメソッドを明示的に呼び出す必要がないことです。 Log と MachineName を指定すると、 Entries プロパティによって自動的にエントリが設定されます。 Log プロパティまたは MachineName プロパティの値を変更した場合は、次回の読み取りで Entries プロパティが再び設定されます。
メモ ログに接続している場合は MachineName を指定する必要はありません。 MachineName を指定しなかった場合は、ローカル コンピュータ "." が想定されます。
使用例
[Visual Basic, C#, C++] ローカル コンピュータ上のイベント ログ "MyNewLog" のエントリを読み取る例を次に示します。
Option Strict
Option Explicit
Imports System
Imports System.Diagnostics
Imports Microsoft.VisualBasic
Class MySample
Public Shared Sub Main()
Dim myLog As New EventLog()
myLog.Log = "MyNewLog"
Dim entry As EventLogEntry
For Each entry In myLog.Entries
Console.WriteLine((ControlChars.Tab & "Entry: " & entry.Message))
Next entry
End Sub ' Main
End Class ' MySample
[C#]
using System;
using System.Diagnostics;
class MySample{
public static void Main(){
EventLog myLog = new EventLog();
myLog.Log = "MyNewLog";
foreach(EventLogEntry entry in myLog.Entries){
Console.WriteLine("\tEntry: " + entry.Message);
}
}
}
[C++]
#using <mscorlib.dll>
#using <System.dll>
using namespace System;
using namespace System::Diagnostics;
int main(){
EventLog* myLog = new EventLog();
myLog->Log = S"MyNewLog";
System::Collections::IEnumerator* myEnum = myLog->Entries->GetEnumerator();
while (myEnum->MoveNext())
{
EventLogEntry* entry = __try_cast<EventLogEntry*>(myEnum->Current);
Console::WriteLine(S"\tEntry: {0}", entry->Message);
}
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows NT Server 4.0, Windows NT Workstation 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
.NET Framework セキュリティ:
- EventLogPermission (コンピュータ上のイベント ログ情報にアクセスするためのアクセス許可)
- SecurityPermission (完全信頼を指定して EventLog のメンバを呼び出すためのアクセス許可) PermissionState.Unrestricted (関連する列挙体)
参照
EventLog クラス | EventLog メンバ | System.Diagnostics 名前空間 | EventLogEntryCollection | EventLogEntry | Source | Log | MachineName | WriteEntry