(0) exportieren Drucken
Alle erweitern

EventLog.MinimumRetentionDays-Eigenschaft

Aktualisiert: November 2007

Ruft die Anzahl von Tagen ab, für die Einträge im Ereignisprotokoll beibehalten werden sollen.

Namespace:  System.Diagnostics
Assembly:  System (in 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

Eigenschaftenwert

Typ: System.Int32
Die Anzahl von Tagen, für die Einträge im Ereignisprotokoll beibehalten werden. Der Standardwert ist 7.

Verwenden Sie die MinimumRetentionDays-Eigenschaft, um die aktuelle Einstellung für ein Ereignisprotokoll zu überprüfen. Mit ModifyOverflowPolicy ändern Sie die Mindestanzahl von Tagen, für die jeder Eintrag im Ereignisprotokoll beibehalten werden muss.

Der MinimumRetentionDays-Wert hängt vom konfigurierten Überlaufverhalten des Ereignisprotokolls ab. Wenn die OverflowAction-Eigenschaft für ein Ereignisprotokoll auf OverwriteAsNeeded festgelegt ist, beträgt der MinimumRetentionDays-Wert 0. Wenn die OverflowAction-Eigenschaft für ein Ereignisprotokoll auf DoNotOverwrite festgelegt ist, beträgt der MinimumRetentionDays-Wert -1. Wenn die OverflowAction-Eigenschaft für ein Ereignisprotokoll auf OverwriteOlder festgelegt ist, ist der MinimumRetentionDays-Wert größer als 0 und stellt die Anzahl von Tagen dar, für die Ereignisprotokolldateien beibehalten werden sollen, wenn das Ereignisprotokoll voll ist.

Das Überlaufverhalten tritt nur auf, wenn die Größenbeschränkung eines Ereignisprotokolls erreicht wird. Wenn OverflowAction für ein EventLog auf OverwriteOlder festgelegt wurde und die maximale Größe des Ereignisprotokolls erreicht wird, werden neue Einträge nur geschrieben, wenn sie Einträge ersetzen können, deren Alter den Zeitraum von MinimumRetentionDays überschreitet. Ereigniseinträge können für einen Mindestzeitraum beibehalten werden, wenn das Ereignisprotokoll regelmäßig archiviert wird. Andernfalls besteht die Gefahr, dass neue Einträge verloren gehen, wenn die Größenbeschränkung des Ereignisprotokolls erreicht wird. Um den Verlust neuer Ereignisinformationen zu vermeiden, legen Sie die Mindestanzahl der Tage für die Beibehaltung auf der Grundlage des Archivierungsplans für ein bestimmtes Ereignisprotokoll fest.

Im folgenden Beispiel werden die auf dem lokalen Computer definierten Ereignisprotokolle aufgelistet und für jedes Ereignisprotokoll Konfigurationsinformationen angezeigt.

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 und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft