Sdílet prostřednictvím


EventLog.ModifyOverflowPolicy(OverflowAction, Int32) Metoda

Definice

Změní nakonfigurované chování při zápisu nových položek, když protokol událostí dosáhne maximální velikosti souboru.

public:
 void ModifyOverflowPolicy(System::Diagnostics::OverflowAction action, int retentionDays);
public void ModifyOverflowPolicy(System.Diagnostics.OverflowAction action, int retentionDays);
[System.Runtime.InteropServices.ComVisible(false)]
public void ModifyOverflowPolicy(System.Diagnostics.OverflowAction action, int retentionDays);
member this.ModifyOverflowPolicy : System.Diagnostics.OverflowAction * int -> unit
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.ModifyOverflowPolicy : System.Diagnostics.OverflowAction * int -> unit
Public Sub ModifyOverflowPolicy (action As OverflowAction, retentionDays As Integer)

Parametry

action
OverflowAction

Chování přetečení pro zápis nových položek do protokolu událostí. Nesmí být OverwriteOlder.

retentionDays
Int32

Deprecated. Musí být 0.

Atributy

Výjimky

action není platná OverflowAction hodnota.

retentionDays je menší než jedna nebo větší než 365.

Hodnota Log není platný název protokolu.

nebo

Klíč registru pro protokol událostí nelze otevřít v cílovém počítači.

Příklady

Následující příklad zobrazí nakonfigurované zásady přetečení pro zadaný protokol událostí a umožní uživateli vybrat nové nastavení zásad přetečení pro protokol událostí.

// Display the current event log overflow settings, and
// prompt the user to input a new overflow setting.
public static void ChangeEventLogOverflowAction(String logName)
{
    if (EventLog.Exists(logName))
    {
        // Display the current overflow setting of the
        // specified event log.
        EventLog inputLog = new EventLog(logName);
        Console.WriteLine("  Event log {0}", inputLog.Log);

        OverflowAction logOverflow = inputLog.OverflowAction;
        Int32 numDays = inputLog.MinimumRetentionDays;

        Console.WriteLine("  Current overflow setting = {0}",
            logOverflow.ToString());
        if (logOverflow == OverflowAction.OverwriteOlder)
        {
            Console.WriteLine("\t Entries are retained a minimum of {0} days.",
                numDays.ToString());
        }

        // Prompt user for a new overflow setting.
        GetNewOverflowSetting(ref logOverflow, ref numDays);

        // Change the overflow setting on the event log.
        if (logOverflow != inputLog.OverflowAction)
        {
            inputLog.ModifyOverflowPolicy(logOverflow, numDays);
            Console.WriteLine("Event log overflow policy was modified successfully!");
        }
        else
        {
            Console.WriteLine("Event log overflow policy was not modified.");
        }
    }
    else
    {
        Console.WriteLine("Event log {0} was not found.", logName);
    }
}
' Display the current event log overflow settings, and
' prompt the user to input a new overflow setting.
Shared Sub ChangeEventLogOverflowAction(logName As String)

    If EventLog.Exists(logName) Then
        Dim inputLog As EventLog = New EventLog(logName)
        Console.WriteLine("  Event log {0}", inputLog.Log)

        Dim logOverflow As OverflowAction = inputLog.OverflowAction
        Dim numDays As Int32 = inputLog.MinimumRetentionDays

        Console.WriteLine("  Current overflow setting = {0}", _
                          logOverflow.ToString())

        ' Prompt user for a new overflow setting.
        GetNewOverflowSetting(logOverflow, numDays)

        If Not logOverflow = inputLog.OverflowAction Then
            inputLog.ModifyOverflowPolicy(logOverflow, numDays)
            Console.WriteLine("Event log overflow policy was modified successfully!")
        Else
            Console.WriteLine("Event log overflow policy was not modified.")
        End If

    Else
        Console.WriteLine("Event log {0} was not found.", logName)
    End If

End Sub

Poznámky

Chování přetečení protokolu událostí určuje, co se stane, když se nové položky zapíšou do protokolu, který dosáhl maximální velikosti souboru.

Poznámka:

Chování při přetečení se projeví jenom v případě, že protokol událostí dosáhne maximální velikosti souboru. Chování přetečení nemá vliv na zápis nové položky do protokolu, který může obsahovat další položky protokolu událostí.

Metoda ModifyOverflowPolicy konfiguruje chování přetečení protokolu událostí. EventLog Instance. Po volání této metody pro protokol událostí určený vlastností Log , OverflowAction hodnoty a MinimumRetentionDays vlastnosti odrážejí nově nakonfigurované chování přetečení.

Poznámka:

Tato vlastnost představuje nastavení konfigurace pro protokol událostí reprezentovaný touto instancí. Když protokol událostí dosáhne maximální velikosti, tato vlastnost určuje, jak operační systém zpracovává nové položky zapsané všemi zdroji událostí registrovanými pro protokol událostí.

action Nastavte parametr tak, aby OverwriteAsNeeded označoval, že nová položka přepíše nejstarší položku, když EventLog dosáhne maximální velikosti. action Pokud je parametr nastavený na OverwriteAsNeeded, hodnota parametru retentionDays se ignoruje.

action Nastavte parametr tak, aby DoNotOverwrite při dosažení maximální velikosti protokolu zahodil nové události. action Pokud je parametr nastavený na DoNotOverwrite, hodnota parametru retentionDays se ignoruje.

Výstraha

Nikdy nenastavujte action parametr na OverwriteOlderhodnotu . Tato hodnota je zastaralá a může způsobit, že se protokol bude chovat, jako kdyby DoNotOverwrite byl parametr předán.

Upozornění

Nastavením zásady přetečení určuje DoNotOverwrite , že se nové položky zahodí, když je protokol událostí plný. Pokud použijete toto nastavení, ujistěte se, že se protokol událostí pravidelně archivuje a vymaže, aby nedošlo k dosažení maximálního limitu velikosti.

Platí pro

Viz také