EventLog.ModifyOverflowPolicy(OverflowAction, Int32) Método

Definición

Cambia el comportamiento configurado para la escritura de entradas nuevas cuando el registro de eventos alcanza su tamaño máximo de archivo.

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)

Parámetros

action
OverflowAction

Comportamiento de desbordamiento para la escritura de entradas nuevas en el registro de eventos.

retentionDays
Int32

Número mínimo de días que se conserva cada entrada del registro de eventos. Solo se utiliza este parámetro si action se establece en OverwriteOlder.

Atributos

Excepciones

action no es un valor OverflowAction válido.

retentionDays es menor que 1 o mayor que 365.

Log no es un nombre de registro válido.

o bien

No se ha podido abrir en el equipo de destino la clave del Registro para el registro de eventos.

Ejemplos

En el ejemplo siguiente se muestra la directiva de desbordamiento configurada para un registro de eventos especificado y permite al usuario seleccionar una nueva configuración de directiva de desbordamiento para el registro de eventos.

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

Comentarios

El comportamiento de desbordamiento de un registro de eventos especifica lo que sucede cuando se escriben nuevas entradas en un registro que ha alcanzado su tamaño máximo de archivo.

Nota

El comportamiento de desbordamiento solo surte efecto cuando un registro de eventos alcanza su tamaño máximo de archivo. El comportamiento de desbordamiento no afecta a escribir una nueva entrada en un registro que pueda dar cabida a entradas adicionales del registro de eventos.

El ModifyOverflowPolicy método configura el comportamiento de desbordamiento de un registro de eventos. EventLog Ejemplo. Después de llamar a este método para el registro de eventos especificado por la Log propiedad , los OverflowAction valores de propiedad y MinimumRetentionDays reflejan el comportamiento de desbordamiento recién configurado.

Nota

Esta propiedad representa un valor de configuración para el registro de eventos representado por esta instancia. Cuando el registro de eventos alcanza su tamaño máximo, esta propiedad especifica cómo el sistema operativo controla las nuevas entradas escritas por todos los orígenes de eventos registrados para el registro de eventos.

Establezca el action parámetro OverwriteAsNeeded en para indicar que una nueva entrada sobrescribe la entrada más antigua cuando EventLog alcanza su tamaño máximo. Si el action parámetro se establece OverwriteAsNeededen , se omite el valor del retentionDays parámetro.

Establezca el action parámetro OverwriteOlder en para indicar que cada nueva entrada sobrescribe entradas anteriores cuando EventLog alcanza su tamaño máximo. Especifique el número de días que los eventos se deben conservar en el registro mediante el retentionDays parámetro . Las entradas nuevas no sobrescriben los eventos escritos dentro del intervalo de retención.

Establezca el action parámetro DoNotOverwrite en para descartar nuevos eventos cuando se alcanza el tamaño máximo del registro. Si el action parámetro se establece DoNotOverwriteen , se omite el valor del retentionDays parámetro.

Precaución

Establecer la directiva de desbordamiento en DoNotOverwrite especifica que las nuevas entradas se descartan cuando el registro de eventos está lleno. Si usa esta configuración, asegúrese de que el registro de eventos se archiva y borra periódicamente para evitar alcanzar su límite de tamaño máximo.

Se aplica a

Consulte también