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

Propiedad EventLog.MinimumRetentionDays

 

Publicado: noviembre de 2016

Obtiene el número de días que se deben conservar las entradas en el registro de eventos.

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

[BrowsableAttribute(false)]
[ComVisibleAttribute(false)]
public int MinimumRetentionDays { get; }

Valor de propiedad

Type: System.Int32

Número de días que se conservan las entradas del registro de eventos. El valor predeterminado es 7.

Utilice la MinimumRetentionDays propiedad para examinar la configuración actual de un registro de eventos. Use ModifyOverflowPolicy para cambiar el número mínimo de días que se debe conservar cada entrada en el registro de eventos.

El MinimumRetentionDays valor depende del comportamiento de desbordamiento configurado el registro de eventos. Si el OverflowAction propiedad para un registro de eventos se establece en OverwriteAsNeeded, la MinimumRetentionDays valor es 0. Si el OverflowAction propiedad para un registro de eventos se establece en DoNotOverwrite, la MinimumRetentionDays valor es -1. Si el OverflowAction propiedad para un registro de eventos se establece en OverwriteOlder, la MinimumRetentionDays valor es mayor que cero y representa el número de días para retener las entradas del registro de eventos cuando el registro de eventos está lleno.

El comportamiento de desbordamiento sólo se produce cuando un registro de eventos alcanza su límite de tamaño. Cuando un EventLog tiene su OverflowAction establecido en OverwriteOlder, y el registro de eventos alcanza su tamaño máximo, se escribirán entradas nuevas sólo si pueden reemplazar a otras cuya antigüedad supere el MinimumRetentionDays período. Conservar las entradas de eventos durante un período mínimo es adecuado cuando el registro de eventos se archive regularmente. De lo contrario, se arriesga a perder entradas nuevas cuando el registro de eventos alcanza su límite. Para evitar perder esta información, definir los días de retención mínimo para eventos en función de la programación de archivo para un registro de eventos determinado.

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 2.0
Volver al principio
Mostrar: