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 static EventLog[] GetEventLogs()

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.

static void DisplayEventLogProperties()
{
    // Iterate through the current set of event log files,
    // displaying the property settings for each file.

    EventLog[] eventLogs = EventLog.GetEventLogs();
    foreach (EventLog e in eventLogs)
    {
        Int64 sizeKB = 0;

        Console.WriteLine();
        Console.WriteLine("{0}:", e.LogDisplayName);
        Console.WriteLine("  Log name = \t\t {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.
        RegistryKey regEventLog = Registry.LocalMachine.OpenSubKey("System\\CurrentControlSet\\Services\\EventLog\\" + e.Log);
        if (regEventLog != null)
        {
            Object temp = regEventLog.GetValue("File");
            if (temp != null)
            {
                Console.WriteLine("  Log file path = \t {0}", temp.ToString());
                FileInfo file = new FileInfo(temp.ToString());

                // Get the current size of the event log file.
                if (file.Exists)
                {
                    sizeKB = file.Length / 1024;
                    if ((file.Length % 1024) != 0)
                    {
                        sizeKB++;
                    }
                    Console.WriteLine("  Current size = \t {0} kilobytes", sizeKB.ToString());
                }
            }
            else
            {
                Console.WriteLine("  Log file path = \t <not set>");
            }
        }

        // Display the maximum size and overflow settings.

        sizeKB = e.MaximumKilobytes;
        Console.WriteLine("  Maximum size = \t {0} kilobytes", sizeKB.ToString());
        Console.WriteLine("  Overflow setting = \t {0}", e.OverflowAction.ToString());

        switch (e.OverflowAction)
        {
            case OverflowAction.OverwriteOlder:
                Console.WriteLine("\t Entries are retained a minimum of {0} days.", 
                    e.MinimumRetentionDays);
                break;
            case OverflowAction.DoNotOverwrite:
                Console.WriteLine("\t Older entries are not overwritten.");
                break;
            case OverflowAction.OverwriteAsNeeded:
                Console.WriteLine("\t If number of entries equals max size limit, a new event log entry overwrites the oldest entry.");
                break;
            default:
                break;
        }
    }
}

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: