EventLog.ModifyOverflowPolicy(OverflowAction, Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.