Esta documentación está archivada y no tiene mantenimiento.

EventLog.MinimumRetentionDays (Propiedad)

Actualización: noviembre 2007

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)

[ComVisibleAttribute(false)]
[BrowsableAttribute(false)]
public int MinimumRetentionDays { get; }
/** @property */
/** @attribute ComVisibleAttribute(false) */
/** @attribute BrowsableAttribute(false) */
public int get_MinimumRetentionDays()

public function get MinimumRetentionDays () : int

Valor de propiedad

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

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

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

El comportamiento de desbordamiento sólo tiene lugar cuando un registro de eventos alcanza su límite de tamaño. Cuando EventLog tiene la propiedad OverflowAction establecida en OverwriteOlder y el registro de eventos alcanza su tamaño máximo, sólo se escribirán entradas nuevas si pueden reemplazar a otras cuya antigüedad supere el período de MinimumRetentionDays. Es conveniente conservar las entradas de eventos durante un período mínimo cuando el registro vaya a archivarse con regularidad. De lo contrario, se corre el riesgo de perder entradas nuevas cada vez que el registro de eventos alcanza su límite. Para no perder esta información, deberá establecerse el número mínimo de días de retención de los eventos en función de la programación de archivado de cada registro.

En el ejemplo siguiente se enumeran los registros de eventos definidos en el equipo local y se muestran los detalles de la configuración de cada uno.

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;
        }
    }
}


static void DisplayEventLogProperties()
{
    // Iterate through the current set of event log files,
    // displaying the property settings for each file.
    EventLog eventLogs[] = EventLog.GetEventLogs();
    EventLog e;
    for ( int iCtr = 0; iCtr < eventLogs.length; iCtr++ ) {
        e = eventLogs[iCtr];
        long sizeKB = 0;

        Console.WriteLine();
        Console.WriteLine("{0}:", e.get_LogDisplayName());
        Console.WriteLine("  Log name = \t\t {0}", e.get_Log());
        Console.WriteLine("  Number of event log entries = {0}",
            ((Int32)e.get_Entries().get_Count()).ToString());

        // Determine if there is an event log file for this event log.
        RegistryKey regEventLog = Registry.LocalMachine.
            OpenSubKey("System\\CurrentControlSet\\Services\\EventLog\\"
            + e.get_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.get_Exists()) {
                    sizeKB = file.get_Length() / 1024;
                    if (file.get_Length() % 1024 != 0) {
                        sizeKB++;
                    }

                    Console.WriteLine("  Current size = \t {0} kilobytes",
                        ((Int64)sizeKB).ToString());
                }
            }
            else {
                Console.WriteLine("  Log file path = \t <not set>");
            }
        }

        // Display the maximum size and overflow settings.
        sizeKB = e.get_MaximumKilobytes();
        Console.WriteLine("  Maximum size = \t {0} kilobytes", 
            ((Int64)sizeKB).ToString());
        Console.WriteLine("  Overflow setting = \t {0}",
            e.get_OverflowAction().ToString());
        switch (e.get_OverflowAction()) {
            case OverflowAction.OverwriteOlder :
                Console.WriteLine("\t Entries are retained a minimum of "
                    + "{0} days.", (Int32)e.get_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;
        }
    }
} //DisplayEventLogProperties


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

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0, 2.0
Mostrar: