Condividi tramite


EventLog.ModifyOverflowPolicy(OverflowAction, Int32) Metodo

Definizione

Modifica il comportamento configurato per la scrittura delle nuove voci quando il registro eventi raggiunge la dimensione massima.

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)

Parametri

action
OverflowAction

Comportamento di overflow per la scrittura di nuove voci nel registro eventi.

retentionDays
Int32

Numero minimo di giorni per cui ogni voce del registro eventi viene mantenuta. Questo parametro viene usato solo se action è impostato su OverwriteOlder.

Attributi

Eccezioni

action non è un valore valido di OverflowAction.

retentionDays è minore di uno o maggiore di 365.

Il valore Log non è un nome di log valido.

-oppure-

Non è possibile aprire la chiave del Registro di sistema per il log eventi sul computer di destinazione.

Esempio

Nell'esempio seguente vengono visualizzati i criteri di overflow configurati per un registro eventi specificato e consente all'utente di selezionare una nuova impostazione dei criteri di overflow per il registro eventi.

// 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

Commenti

Il comportamento di overflow per un registro eventi specifica cosa accade quando le nuove voci devono essere scritte in un log che ha raggiunto la dimensione massima del file.

Nota

Il comportamento di overflow ha effetto solo quando un registro eventi raggiunge le dimensioni massime del file. Il comportamento di overflow non influisce sulla scrittura di una nuova voce in un log che può supportare voci aggiuntive del registro eventi.

Il ModifyOverflowPolicy metodo configura il comportamento overflow di un registro eventi. EventLog Istanza. Dopo aver chiamato questo metodo per il registro eventi specificato dalla Log proprietà, i valori delle OverflowAction proprietà e MinimumRetentionDays riflettono il comportamento di overflow appena configurato.

Nota

Questa proprietà rappresenta un'impostazione di configurazione per il registro eventi rappresentato da questa istanza. Quando il registro eventi raggiunge le dimensioni massime, questa proprietà specifica come il sistema operativo gestisce le nuove voci scritte da tutte le origini eventi registrate per il registro eventi.

Impostare il action parametro su per OverwriteAsNeeded indicare che una nuova voce sovrascrive la voce meno recente quando raggiunge la EventLog dimensione massima. Se il parametro è impostato su OverwriteAsNeeded, il valore del actionretentionDays parametro viene ignorato.

Impostare il action parametro su per OverwriteOlder indicare che ogni nuova voce sovrascrive le voci precedenti quando l'oggetto raggiunge la EventLog dimensione massima. Specificare il numero di giorni che gli eventi devono essere conservati nel log usando il retentionDays parametro . Gli eventi scritti all'interno dell'intervallo di conservazione non vengono sovrascritti dalle nuove voci.

Impostare il action parametro su per DoNotOverwrite eliminare nuovi eventi quando viene raggiunta la dimensione massima del log. Se il parametro è impostato su DoNotOverwrite, il valore del actionretentionDays parametro viene ignorato.

Attenzione

Impostando il criterio overflow per DoNotOverwrite specificare che le nuove voci vengono rimosse quando il log eventi è pieno. Se si usa questa impostazione, assicurarsi che il registro eventi sia regolarmente archiviato e cancellato per evitare di raggiungere il limite massimo di dimensioni.

Si applica a

Vedi anche