Sdílet prostřednictvím


EventLog.ModifyOverflowPolicy(OverflowAction, Int32) Metoda

Definice

Změní nakonfigurované chování pro zápis 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í při zápisu nových položek do protokolu událostí.

retentionDays
Int32

Minimální počet dní, po který se jednotlivé položky protokolu událostí uchovávají. Tento parametr se používá pouze v případě, že action je nastavený na OverwriteOlderhodnotu .

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.
void ChangeEventLogOverflowAction( String^ logName )
{
   if ( EventLog::Exists( logName ) )
   {
      
      // Display the current overflow setting of the 
      // specified event log.
      EventLog^ inputLog = gcnew EventLog( logName );
      Console::WriteLine( "  Event log {0}", inputLog->Log );
      OverflowAction logOverflow = inputLog->OverflowAction;
      Int32 numDays = inputLog->MinimumRetentionDays;
      Console::WriteLine( "  Current overflow setting = {0}", logOverflow );
      if ( logOverflow == OverflowAction::OverwriteOlder )
      {
         Console::WriteLine( "\t Entries are retained a minimum of {0} days.", numDays );
      }
      
      // Prompt user for a new overflow setting.
      GetNewOverflowSetting(  &logOverflow,  &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.
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ž mají být nové položky zapsány do protokolu, který dosáhl maximální velikosti souboru.

Poznámka

Chování přetečení se projeví pouze 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ý Log vlastností OverflowAction hodnoty a MinimumRetentionDays 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 na hodnotu , OverwriteAsNeeded abyste mohli označit, že nová položka přepíše nejstarší položku, když EventLog položka dosáhne své maximální velikosti. action Pokud je parametr nastavený na OverwriteAsNeededhodnotu , hodnota parametru retentionDays se ignoruje.

action Nastavte parametr na hodnotu , OverwriteOlder abyste mohli označit, že každá nová položka při dosažení maximální velikosti přepíše starší položkyEventLog. Pomocí parametru zadejte počet dnů, po které se musí události uchovávat v protokolu retentionDays . Události zapsané v rámci rozsahu uchování nejsou přepsány novými položkami.

Nastavením parametru action na hodnotu DoNotOverwrite zahodíte nové události při dosažení maximální velikosti protokolu. action Pokud je parametr nastavený na DoNotOverwritehodnotu , hodnota parametru retentionDays se ignoruje.

Upozornění

Nastavení zásady přetečení na DoNotOverwrite určuje, že nové položky se 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í limitu maximální velikosti.

Platí pro

Viz také