This documentation is archived and is not being maintained.

EventLog.GetEventLogs Method (String)

Searches for all event logs on the given computer and creates an array of EventLog objects that contain the list.

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

Public Shared Function GetEventLogs ( _
	machineName As String _
) As EventLog()
Dim machineName As String 
Dim returnValue As EventLog()

returnValue = EventLog.GetEventLogs(machineName)


Type: System.String

The computer on which to search for event logs.

Return Value

Type: System.Diagnostics.EventLog()
An array of type EventLog that represents the logs on the given computer.


The machineName parameter is an invalid computer name.


You do not have read access to the registry.


There is no event log service on the computer.

The array of EventLog objects is a snapshot of all event logs on the computer specified by the machineName parameter when the call to GetEventLogs is made. This is not a dynamic collection, so it does not reflect the deletion or creation of logs in real time. You should verify that a log in the array exists before you read or write to it. The array usually includes at least three logs: Application, System, and Security. If you created custom logs on the specified computer, they will appear in the array as well.

GetEventLogs is a static method, so it can be called on the EventLog class itself. It is not necessary to create an instance of an EventLog object to make a call to the method.

To retrieve the list of event logs, you must have the appropriate registry permissions. These permissions are identical to those required to call Exists and SourceExists.

The following example gets a list of logs on the computer "myServer". It then outputs the name of each log.

Imports System
Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        Dim remoteEventLogs() As EventLog

        remoteEventLogs = EventLog.GetEventLogs("myServer")

        Console.WriteLine(("Number of logs on computer: " & remoteEventLogs.Length))

        Dim log As EventLog
        For Each log In  remoteEventLogs
            Console.WriteLine(("Log: " & log.Log))
        Next log
    End Sub ' Main
End Class ' MySample

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0