Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

EventLogEntryCollection Class

Defines size and enumerators for a collection of EventLogEntry instances.

Namespace: System.Diagnostics
Assembly: System (in system.dll)

public class EventLogEntryCollection : ICollection, IEnumerable
public class EventLogEntryCollection implements ICollection, IEnumerable
public class EventLogEntryCollection implements ICollection, IEnumerable

Use the EventLogEntryCollection class when reading the entries associated with an EventLog instance. The EventLog class's Entries property is a collection of all the entries in the event log.

Because new entries are appended to the end of the existing list, stepping through the collection enables you access to entries created after you originally created the EventLogEntryCollection. However, once you view the entire list, it is not updated with new entries.

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 source.
            EventLog.CreateEventSource("MySource", myLogName);
            Console.WriteLine("Creating EventSource");
         }
         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);
      }
   }
}

import System.*;
import System.Collections.*;
import System.Diagnostics.*;

class EventLogEntryCollectionItem
{
    public static void main(String[] args)
    {
        try {
            String myLogName = "MyNewLog";

            // Check if the source exists.
            if (!(EventLog.SourceExists("MySource"))) {
                //Create source.
                EventLog.CreateEventSource("MySource", myLogName);
                Console.WriteLine("Creating EventSource");
            }
            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.set_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.set_Log(myLogName);

            // Obtain the Log Entries of "MyNewLog".
            EventLogEntryCollection myEventLogEntryCollection = 
                myEventLog1.get_Entries();

            myEventLog1.Close();
            Console.WriteLine("The number of entries in 'MyNewLog' = " 
                + myEventLogEntryCollection.get_Count());

            // Display the 'Message' property of EventLogEntry.
            for (int i = 0; i < myEventLogEntryCollection.get_Count(); i++) {
                Console.WriteLine("The Message of the EventLog is :"
                    + myEventLogEntryCollection.get_Item(i).get_Message());
            }
            // Copy the EventLog entries to Array of type EventLogEntry.
            EventLogEntry myEventLogEntryArray[] = 
                new EventLogEntry[myEventLogEntryCollection.get_Count()];

            myEventLogEntryCollection.CopyTo(myEventLogEntryArray, 0);
            IEnumerator myEnumerator = myEventLogEntryArray.GetEnumerator();
            while (myEnumerator.MoveNext()) {
                EventLogEntry myEventLogEntry = 
                    (EventLogEntry)myEnumerator.get_Current();
                Console.WriteLine("The LocalTime the Event is generated is " 
                    + myEventLogEntry.get_TimeGenerated());
            }
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception:{0}", e.get_Message());
        }
    } //main
} //EventLogEntryCollectionItem

System.Object
  System.Diagnostics.EventLogEntryCollection
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.