Freigeben über


EventLog.ModifyOverflowPolicy(OverflowAction, Int32) Methode

Definition

Ändert das konfigurierte Verhalten zum Schreiben neuer Einträge, wenn die maximale Dateigröße des Ereignisprotokolls erreicht wird.

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)

Parameter

action
OverflowAction

Das Überlaufverhalten für das Schreiben neuer Einträge in das Ereignisprotokoll.

retentionDays
Int32

Die Mindestanzahl von Tagen, für die jeder Ereignisprotokolleintrag beibehalten wird. Dieser Parameter wird nur verwendet, wenn action auf OverwriteOlder festgelegt ist.

Attribute

Ausnahmen

action ist kein gültiger OverflowAction-Wert.

retentionDays ist kleiner als 1 oder größer als 365.

Der Log-Wert ist kein gültiger Protokollname.

- oder -

Der Registrierungsschlüssel für das Ereignisprotokoll konnte auf dem Zielcomputer nicht geöffnet werden.

Beispiele

Im folgenden Beispiel wird die konfigurierte Überlaufrichtlinie für ein angegebenes Ereignisprotokoll angezeigt, und der Benutzer kann eine neue Überlaufrichtlinieneinstellung für das Ereignisprotokoll auswählen.

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

Hinweise

Das Überlaufverhalten für ein Ereignisprotokoll gibt an, was geschieht, wenn neue Einträge in ein Protokoll geschrieben werden sollen, das seine maximale Dateigröße erreicht hat.

Hinweis

Das Überlaufverhalten wird nur wirksam, wenn ein Ereignisprotokoll seine maximale Dateigröße erreicht. Das Überlaufverhalten wirkt sich nicht auf das Schreiben eines neuen Eintrags in ein Protokoll aus, das zusätzliche Ereignisprotokolleinträge aufnehmen kann.

Die ModifyOverflowPolicy -Methode konfiguriert das Überlaufverhalten eines Ereignisprotokolls. EventLoginstance. Nach dem Aufrufen dieser Methode für das von der Log -Eigenschaft angegebene Ereignisprotokoll spiegeln die OverflowAction Eigenschaftswerte und MinimumRetentionDays das neu konfigurierte Überlaufverhalten wider.

Hinweis

Diese Eigenschaft stellt eine Konfigurationseinstellung für das Ereignisprotokoll dar, das durch diese instance dargestellt wird. Wenn das Ereignisprotokoll seine maximale Größe erreicht, gibt diese Eigenschaft an, wie das Betriebssystem neue Einträge behandelt, die von allen für das Ereignisprotokoll registrierten Ereignisquellen geschrieben wurden.

Legen Sie den action Parameter auf fest OverwriteAsNeeded , um anzugeben, dass ein neuer Eintrag den ältesten Eintrag überschreibt, wenn die EventLog maximale Größe erreicht ist. Wenn der action Parameter auf OverwriteAsNeededfestgelegt ist, wird der retentionDays Parameterwert ignoriert.

Legen Sie den action Parameter auf fest OverwriteOlder , um anzugeben, dass jeder neue Eintrag ältere Einträge überschreibt, wenn die EventLog maximale Größe erreicht. Geben Sie die Anzahl der Tage an, in denen Ereignisse im Protokoll aufbewahrt werden müssen, indem Sie den retentionDays -Parameter verwenden. Ereignisse, die innerhalb des Aufbewahrungsbereichs geschrieben werden, werden nicht durch neue Einträge überschrieben.

Legen Sie den action Parameter auf fest DoNotOverwrite , um neue Ereignisse zu verwerfen, wenn die maximale Protokollgröße erreicht ist. Wenn der action Parameter auf DoNotOverwritefestgelegt ist, wird der retentionDays Parameterwert ignoriert.

Achtung

Durch Festlegen der Überlaufrichtlinie auf DoNotOverwrite wird angegeben, dass neue Einträge verworfen werden, wenn das Ereignisprotokoll voll ist. Wenn Sie diese Einstellung verwenden, stellen Sie sicher, dass das Ereignisprotokoll regelmäßig archiviert und gelöscht wird, um das Erreichen der maximalen Größenbeschränkung zu vermeiden.

Gilt für:

Weitere Informationen