Číst v angličtině

Sdílet prostřednictvím


OverflowAction Výčet

Definice

Určuje způsob zpracování položek v protokolu událostí, které dosáhly maximální velikosti souboru.

public enum OverflowAction
Dědičnost
OverflowAction

Pole

Name Hodnota Description
DoNotOverwrite -1

Označuje, že se stávající položky zachovají, když je protokol událostí plný a nové položky se zahodí.

OverwriteAsNeeded 0

Označuje, že každá nová položka přepíše nejstarší položku, když je protokol událostí plný.

OverwriteOlder 1

Označuje, že nové události přepíší události, které jsou starší než zadané MinimumRetentionDays hodnotou vlastnosti, když je protokol událostí plný. Nové události se zahodí, pokud je protokol událostí plný a neexistují žádné události starší, než jsou určené MinimumRetentionDays hodnotou vlastnosti.

Příklady

Následující příklad uvádí protokoly událostí definované v místním počítači a zobrazí podrobnosti konfigurace pro každý protokol událostí.

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

Poznámky

Každý protokol událostí má limit maximální velikosti a konfigurovatelné nastavení, které poskytuje pravidlo pro zápis nových položek s tímto limitem. Když protokol událostí dosáhne maximální velikosti, můžete zadat jedno z následujících pravidel:

  • Nové položky budou zahozeny.

  • Nové položky přepíšou starší položky.

  • Nové položky budou buď zahozeny, nebo přepíšou stávající položky v závislosti na stáří existujících položek.

ModifyOverflowPolicy Pomocí metody nastavte chování přetečení pro EventLogobjekt . Zkontrolujte aktuální nakonfigurované chování objektu EventLog prostřednictvím jeho OverflowAction vlastnosti.

Platí pro

Produkt Verze
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9