EventLogEntryCollection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义 EventLogEntry 实例的集合的大小和枚举器。
public ref class EventLogEntryCollection : System::Collections::ICollection
public class EventLogEntryCollection : System.Collections.ICollection
type EventLogEntryCollection = class
interface ICollection
interface IEnumerable
Public Class EventLogEntryCollection
Implements ICollection
- 继承
-
EventLogEntryCollection
- 实现
示例
以下示例演示如何从 EventLogEntryCollection 对象获取事件日志信息。
#using <System.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Diagnostics;
int main()
{
try
{
String^ myLogName = "MyNewLog";
// Check if the source exists.
if ( !EventLog::SourceExists( "MySource" ) )
{
//Create source.
EventLog::CreateEventSource( "MySource", myLogName );
Console::WriteLine( "Creating EventSource" );
}
else
myLogName = EventLog::LogNameFromSourceName( "MySource", "." );
// Get the EventLog associated if the source exists.
// Create an EventLog instance and assign its source.
EventLog^ myEventLog2 = gcnew EventLog;
myEventLog2->Source = "MySource";
// Write an informational entry to the event log.
myEventLog2->WriteEntry( "Successfully created a new Entry in the Log" );
myEventLog2->Close();
// Create a new EventLog Object*.
EventLog^ myEventLog1 = gcnew EventLog;
myEventLog1->Log = myLogName;
// Obtain the Log Entries of S"MyNewLog".
EventLogEntryCollection^ myEventLogEntryCollection = myEventLog1->Entries;
myEventLog1->Close();
Console::WriteLine( "The number of entries in 'MyNewLog' = {0}", myEventLogEntryCollection->Count );
// Display the 'Message' property of EventLogEntry.
for ( int i = 0; i < myEventLogEntryCollection->Count; i++ )
{
Console::WriteLine( "The Message of the EventLog is : {0}", myEventLogEntryCollection[ i ]->Message );
}
// Copy the EventLog entries to Array of type EventLogEntry.
array<EventLogEntry^>^myEventLogEntryArray = gcnew array<EventLogEntry^>(myEventLogEntryCollection->Count);
myEventLogEntryCollection->CopyTo( myEventLogEntryArray, 0 );
IEnumerator^ myEnumerator = myEventLogEntryArray->GetEnumerator();
while ( myEnumerator->MoveNext() )
{
EventLogEntry^ myEventLogEntry = safe_cast<EventLogEntry^>(myEnumerator->Current);
Console::WriteLine( "The LocalTime the Event is generated is {0}", myEventLogEntry->TimeGenerated );
}
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception: {0}", e->Message );
}
}
using System;
using System.Collections;
using System.Diagnostics;
class EventLogEntryCollection_Item
{
public static void Main()
{
try
{
string myLogName = "MyNewLog";
// Check if the source exists.
if (!EventLog.SourceExists("MySource"))
{
// Create the source.
// 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("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;
}
else
{
// Get the EventLog associated if the source exists.
myLogName = EventLog.LogNameFromSourceName("MySource", ".");
}
// Create an EventLog instance and assign its source.
EventLog myEventLog2 = new EventLog();
myEventLog2.Source = "MySource";
// Write an informational entry to the event log.
myEventLog2.WriteEntry("Successfully created a new Entry in the Log");
myEventLog2.Close();
// Create a new EventLog object.
EventLog myEventLog1 = new EventLog();
myEventLog1.Log = myLogName;
// Obtain the Log Entries of "MyNewLog".
EventLogEntryCollection myEventLogEntryCollection =
myEventLog1.Entries;
myEventLog1.Close();
Console.WriteLine("The number of entries in 'MyNewLog' = "
+ myEventLogEntryCollection.Count);
// Display the 'Message' property of EventLogEntry.
for (int i = 0; i < myEventLogEntryCollection.Count; i++)
{
Console.WriteLine("The Message of the EventLog is :"
+ myEventLogEntryCollection[i].Message);
}
// Copy the EventLog entries to Array of type EventLogEntry.
EventLogEntry[] myEventLogEntryArray =
new EventLogEntry[myEventLogEntryCollection.Count];
myEventLogEntryCollection.CopyTo(myEventLogEntryArray, 0);
IEnumerator myEnumerator = myEventLogEntryArray.GetEnumerator();
while (myEnumerator.MoveNext())
{
EventLogEntry myEventLogEntry = (EventLogEntry)myEnumerator.Current;
Console.WriteLine("The LocalTime the Event is generated is "
+ myEventLogEntry.TimeGenerated);
}
}
catch (Exception e)
{
Console.WriteLine("Exception:{0}", e.Message);
}
}
}
Imports System.Collections
Imports System.Diagnostics
Class EventLogEntryCollection_Item
Public Shared Sub Main()
Try
Dim myLogName As String = "MyNewlog"
' Check if the source exists.
If Not EventLog.SourceExists("MySource") Then
'Create source.
EventLog.CreateEventSource("MySource", myLogName)
Console.WriteLine("Creating EventSource")
' Get the EventLog associated if the source exists.
Else
myLogName = EventLog.LogNameFromSourceName("MySource", ".")
End If
' Create an EventLog instance and assign its source.
Dim myEventLog2 As New EventLog()
myEventLog2.Source = "MySource"
' Write an informational entry to the event log.
myEventLog2.WriteEntry("Successfully created a new Entry in the Log")
myEventLog2.Close()
' Create a new EventLog object.
Dim myEventLog1 As New EventLog()
myEventLog1.Log = myLogName
' Obtain the Log Entries of "MyNewLog".
Dim myEventLogEntryCollection As EventLogEntryCollection = myEventLog1.Entries
myEventLog1.Close()
Console.WriteLine("The number of entries in 'MyNewLog' = " + _
myEventLogEntryCollection.Count.ToString())
' Display the 'Message' property of EventLogEntry.
Dim i As Integer
For i = 0 To myEventLogEntryCollection.Count - 1
Console.WriteLine("The Message of the EventLog is :" + _
myEventLogEntryCollection(i).Message)
Next i
' Copy the EventLog entries to Array of type EventLogEntry.
Dim myEventLogEntryArray(myEventLogEntryCollection.Count-1) As EventLogEntry
myEventLogEntryCollection.CopyTo(myEventLogEntryArray, 0)
Dim myEnumerator As IEnumerator = myEventLogEntryArray.GetEnumerator()
While myEnumerator.MoveNext()
Dim myEventLogEntry As EventLogEntry = CType(myEnumerator.Current, EventLogEntry)
Console.WriteLine("The LocalTime the Event is generated is " + _
myEventLogEntry.TimeGenerated)
End While
Catch e As Exception
Console.WriteLine("Exception:{0}", e.Message.ToString())
End Try
End Sub
End Class
注解
EventLogEntryCollection读取与实例关联的EventLog条目时,请使用 类。 Entries类的 EventLog 属性是事件日志中所有条目的集合。
由于新条目追加到现有列表,因此单步执行集合使你能够访问最初创建 后 EventLogEntryCollection创建的条目。 但是,在查看整个列表后,它不会更新为新条目。
属性
Count |
获取事件日志中的项数(即 EventLogEntry 集合中的元素个数)。 |
Item[Int32] |
基于从 0(零)开始的索引,获取事件日志中的项。 |
方法
CopyTo(EventLogEntry[], Int32) |
从特定的数组索引开始,将 EventLogEntryCollection 的元素复制到 EventLogEntry 实例的数组。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetEnumerator() |
支持在 EventLogEntryCollection 对象上进行简单迭代。 |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
显式接口实现
ICollection.CopyTo(Array, Int32) | |
ICollection.IsSynchronized |
获取一个值,该值指示是否同步对 EventLogEntryCollection 的访问(线程安全)。 |
ICollection.SyncRoot |
获取一个对象,该对象可用于同步对 EventLogEntryCollection 对象的访问。 |
扩展方法
Cast<TResult>(IEnumerable) |
将 IEnumerable 的元素强制转换为指定的类型。 |
OfType<TResult>(IEnumerable) |
根据指定类型筛选 IEnumerable 的元素。 |
AsParallel(IEnumerable) |
启用查询的并行化。 |
AsQueryable(IEnumerable) |
将 IEnumerable 转换为 IQueryable。 |