Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método EventLog.GetEventLogs ()

 

Publicado: octubre de 2016

Busca todos los registros de eventos en el equipo local y crea una matriz de objetos EventLog que contiene la lista.

Espacio de nombres:   System.Diagnostics
Ensamblado:  System (en System.dll)

Public Shared Function GetEventLogs As EventLog()

Valor devuelto

Type: System.Diagnostics.EventLog()

Matriz de tipo EventLog que representa los registros del equipo local.

Exception Condition
SystemException

No tiene acceso de lectura en el registro.

O bien

No hay ningún servicio de registro de eventos en el equipo.

La matriz de EventLog objetos es una instantánea de todos los registros de eventos en el equipo local cuando la llamada a GetEventLogs se realiza. No es una colección dinámica, por lo que no refleja la eliminación o la creación de registros en tiempo real. Debe comprobar que un registro de la matriz existe antes de leer o escribir en él. La matriz normalmente incluye al menos tres registros: aplicación, sistema y seguridad. Si ha creado registros personalizados en el equipo local, aparecerán en la matriz.

Para recuperar la lista de registros de eventos, debe tener los permisos adecuados. Estos permisos son idénticos a los necesarios para llamar a Exists y SourceExists.

En el ejemplo siguiente se enumera los registros de eventos definidos en el equipo local y muestra los detalles de configuración para cada registro de eventos.

Shared Sub DisplayEventLogProperties()

   ' Iterate through the current set of event log files,
   ' displaying the property settings for each file.
   Dim eventLogs As EventLog() = EventLog.GetEventLogs()

   Dim e As EventLog
   For Each e In  eventLogs
      Dim sizeKB As Int64 = 0

      Console.WriteLine()
      Console.WriteLine("{0}:", e.LogDisplayName)
      Console.WriteLine("  Log name = " + ControlChars.Tab _
                          + ControlChars.Tab + " {0}", e.Log)

      Console.WriteLine("  Number of event log entries = {0}", e.Entries.Count.ToString())

      ' Determine if there is an event log file for this event log.
      Dim regEventLog As RegistryKey
      regEventLog = Registry.LocalMachine.OpenSubKey( _
             ("System\CurrentControlSet\Services\EventLog\" + e.Log))

      If Not (regEventLog Is Nothing) Then

         Dim temp As Object = regEventLog.GetValue("File")
         If Not (temp Is Nothing) Then

            Console.WriteLine("  Log file path = " + ControlChars.Tab _
                                  + " {0}", temp.ToString())
            Dim file As New FileInfo(temp.ToString())

            ' Get the current size of the event log file.
            If file.Exists Then
               sizeKB = file.Length / 1024
               If file.Length Mod 1024 <> 0 Then
                  sizeKB += 1
               End If
               Console.WriteLine("  Current size = " + ControlChars.Tab _
                          + " {0} kilobytes", sizeKB.ToString())
            End If
         Else
            Console.WriteLine("  Log file path = " + ControlChars.Tab _
                             + " <not set>")
         End If
      End If

      ' Display the maximum size and overflow settings.
      sizeKB = e.MaximumKilobytes
      Console.WriteLine("  Maximum size = " + ControlChars.Tab _
                         + " {0} kilobytes", sizeKB.ToString())
      Console.WriteLine("  Overflow setting = " + ControlChars.Tab _
                         + " {0}", e.OverflowAction.ToString())

      Select Case e.OverflowAction
         Case OverflowAction.OverwriteOlder
            Console.WriteLine(ControlChars.Tab + _
                 " Entries are retained a minimum of {0} days.", _
                 e.MinimumRetentionDays)
         Case OverflowAction.DoNotOverwrite
            Console.WriteLine(ControlChars.Tab + _
                 " Older entries are not overwritten.")
         Case OverflowAction.OverwriteAsNeeded
            Console.WriteLine(ControlChars.Tab + _
                 " If number of entries equals max size limit, a new event log entry overwrites the oldest entry.")
         Case Else
      End Select

   Next e

End Sub

EventLogPermission

for administering event log information on the computer. Associated enumeration: F:System.Diagnostics.EventLogPermissionAccess.Administer

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: