EventLog.MinimumRetentionDays Właściwość
Definicja
Pobiera liczbę dni przechowywania wpisów w dzienniku zdarzeń.Gets the number of days to retain entries in the event log.
public:
property int MinimumRetentionDays { int get(); };
[System.ComponentModel.Browsable(false)]
public int MinimumRetentionDays { get; }
[System.ComponentModel.Browsable(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public int MinimumRetentionDays { get; }
[<System.ComponentModel.Browsable(false)>]
member this.MinimumRetentionDays : int
[<System.ComponentModel.Browsable(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.MinimumRetentionDays : int
Public ReadOnly Property MinimumRetentionDays As Integer
Wartość właściwości
Liczba dni przechowywania wpisów w dzienniku zdarzeń.The number of days that entries in the event log are retained. Wartość domyślna to 7.The default value is 7.
- Atrybuty
Przykłady
Poniższy przykład wylicza dzienniki zdarzeń zdefiniowane na komputerze lokalnym i wyświetla szczegóły konfiguracji dla każdego dziennika zdarzeń.The following example enumerates the event logs defined on the local computer, and displays configuration details for each event log.
void DisplayEventLogProperties()
{
// Iterate through the current set of event log files,
// displaying the property settings for each file.
array<EventLog^>^eventLogs = EventLog::GetEventLogs();
System::Collections::IEnumerator^ myEnum = eventLogs->GetEnumerator();
while ( myEnum->MoveNext() )
{
EventLog^ e = safe_cast<EventLog^>(myEnum->Current);
Int64 sizeKB = 0;
Console::WriteLine();
Console::WriteLine( "{0}:", e->LogDisplayName );
Console::WriteLine( " Log name = \t\t {0}", e->Log );
Console::WriteLine( " Number of event log entries = {0}", e->Entries->Count );
// Determine if there is a file for this event log.
RegistryKey ^ regEventLog = Registry::LocalMachine->OpenSubKey( String::Format( "System\\CurrentControlSet\\Services\\EventLog\\{0}", e->Log ) );
if ( regEventLog )
{
Object^ temp = regEventLog->GetValue( "File" );
if ( temp != nullptr )
{
Console::WriteLine( " Log file path = \t {0}", temp );
FileInfo^ file = gcnew FileInfo( temp->ToString() );
// Get the current size of the event log file.
if ( file->Exists )
{
sizeKB = file->Length / 1024;
if ( (file->Length % 1024) != 0 )
{
sizeKB++;
}
Console::WriteLine( " Current size = \t {0} kilobytes", sizeKB );
}
}
else
{
Console::WriteLine( " Log file path = \t <not set>" );
}
}
// Display the maximum size and overflow settings.
sizeKB = e->MaximumKilobytes;
Console::WriteLine( " Maximum size = \t {0} kilobytes", sizeKB );
Console::WriteLine( " Overflow setting = \t {0}", e->OverflowAction );
switch ( e->OverflowAction )
{
case OverflowAction::OverwriteOlder:
Console::WriteLine( "\t Entries are retained a minimum of {0} days.", e->MinimumRetentionDays );
break;
case OverflowAction::DoNotOverwrite:
Console::WriteLine( "\t Older entries are not overwritten." );
break;
case OverflowAction::OverwriteAsNeeded:
Console::WriteLine( "\t If number of entries equals max size limit, a new event log entry overwrites the oldest entry." );
break;
default:
break;
}
}
}
static void DisplayEventLogProperties()
{
// Iterate through the current set of event log files,
// displaying the property settings for each file.
EventLog[] eventLogs = EventLog.GetEventLogs();
foreach (EventLog e in eventLogs)
{
Int64 sizeKB = 0;
Console.WriteLine();
Console.WriteLine("{0}:", e.LogDisplayName);
Console.WriteLine(" Log name = \t\t {0}", e.Log);
Console.WriteLine(" Number of event log entries = {0}", e.Entries.Count.ToString());
// Determine if there is an event log file for this event log.
RegistryKey regEventLog = Registry.LocalMachine.OpenSubKey("System\\CurrentControlSet\\Services\\EventLog\\" + e.Log);
if (regEventLog != null)
{
Object temp = regEventLog.GetValue("File");
if (temp != null)
{
Console.WriteLine(" Log file path = \t {0}", temp.ToString());
FileInfo file = new FileInfo(temp.ToString());
// Get the current size of the event log file.
if (file.Exists)
{
sizeKB = file.Length / 1024;
if ((file.Length % 1024) != 0)
{
sizeKB++;
}
Console.WriteLine(" Current size = \t {0} kilobytes", sizeKB.ToString());
}
}
else
{
Console.WriteLine(" Log file path = \t <not set>");
}
}
// Display the maximum size and overflow settings.
sizeKB = e.MaximumKilobytes;
Console.WriteLine(" Maximum size = \t {0} kilobytes", sizeKB.ToString());
Console.WriteLine(" Overflow setting = \t {0}", e.OverflowAction.ToString());
switch (e.OverflowAction)
{
case OverflowAction.OverwriteOlder:
Console.WriteLine("\t Entries are retained a minimum of {0} days.",
e.MinimumRetentionDays);
break;
case OverflowAction.DoNotOverwrite:
Console.WriteLine("\t Older entries are not overwritten.");
break;
case OverflowAction.OverwriteAsNeeded:
Console.WriteLine("\t If number of entries equals max size limit, a new event log entry overwrites the oldest entry.");
break;
default:
break;
}
}
}
Shared Sub DisplayEventLogProperties()
' Iterate through the current set of event log files,
' displaying the property settings for each file.
Dim eventLogs As EventLog() = EventLog.GetEventLogs()
Dim e As EventLog
For Each e In eventLogs
Dim sizeKB As Int64 = 0
Console.WriteLine()
Console.WriteLine("{0}:", e.LogDisplayName)
Console.WriteLine(" Log name = " + ControlChars.Tab _
+ ControlChars.Tab + " {0}", e.Log)
Console.WriteLine(" Number of event log entries = {0}", e.Entries.Count.ToString())
' Determine if there is an event log file for this event log.
Dim regEventLog As RegistryKey
regEventLog = Registry.LocalMachine.OpenSubKey( _
("System\CurrentControlSet\Services\EventLog\" + e.Log))
If Not (regEventLog Is Nothing) Then
Dim temp As Object = regEventLog.GetValue("File")
If Not (temp Is Nothing) Then
Console.WriteLine(" Log file path = " + ControlChars.Tab _
+ " {0}", temp.ToString())
Dim file As New FileInfo(temp.ToString())
' Get the current size of the event log file.
If file.Exists Then
sizeKB = file.Length / 1024
If file.Length Mod 1024 <> 0 Then
sizeKB += 1
End If
Console.WriteLine(" Current size = " + ControlChars.Tab _
+ " {0} kilobytes", sizeKB.ToString())
End If
Else
Console.WriteLine(" Log file path = " + ControlChars.Tab _
+ " <not set>")
End If
End If
' Display the maximum size and overflow settings.
sizeKB = e.MaximumKilobytes
Console.WriteLine(" Maximum size = " + ControlChars.Tab _
+ " {0} kilobytes", sizeKB.ToString())
Console.WriteLine(" Overflow setting = " + ControlChars.Tab _
+ " {0}", e.OverflowAction.ToString())
Select Case e.OverflowAction
Case OverflowAction.OverwriteOlder
Console.WriteLine(ControlChars.Tab + _
" Entries are retained a minimum of {0} days.", _
e.MinimumRetentionDays)
Case OverflowAction.DoNotOverwrite
Console.WriteLine(ControlChars.Tab + _
" Older entries are not overwritten.")
Case OverflowAction.OverwriteAsNeeded
Console.WriteLine(ControlChars.Tab + _
" If number of entries equals max size limit, a new event log entry overwrites the oldest entry.")
Case Else
End Select
Next e
End Sub
Uwagi
Użyj MinimumRetentionDays właściwości, aby przejrzeć bieżące ustawienie dla dziennika zdarzeń.Use the MinimumRetentionDays property to examine the current setting for an event log. Użyj ModifyOverflowPolicy , aby zmienić minimalną liczbę dni, w których należy zachować poszczególne wpisy w dzienniku zdarzeń.Use ModifyOverflowPolicy to change the minimum number of days that each entry in the event log must be retained.
MinimumRetentionDaysWartość zależy od skonfigurowanego zachowania przepełnienia dziennika zdarzeń.The MinimumRetentionDays value depends on the configured overflow behavior of the event log. Jeśli OverflowAction Właściwość dziennika zdarzeń jest ustawiona na OverwriteAsNeeded , MinimumRetentionDays wartość jest równa 0.If the OverflowAction property for an event log is set to OverwriteAsNeeded, then the MinimumRetentionDays value is 0. Jeśli OverflowAction Właściwość dziennika zdarzeń jest ustawiona na DoNotOverwrite , MinimumRetentionDays wartość jest-1.If the OverflowAction property for an event log is set to DoNotOverwrite, then the MinimumRetentionDays value is -1. Jeśli OverflowAction Właściwość dla dziennika zdarzeń jest ustawiona na OverwriteOlder , MinimumRetentionDays wartość jest większa od zera i reprezentuje liczbę dni przechowywania wpisów dziennika zdarzeń w przypadku zapełnienia dziennika zdarzeń.If the OverflowAction property for an event log is set to OverwriteOlder, then the MinimumRetentionDays value is greater than zero, and represents the number of days to retain event log entries when the event log is full.
Zachowanie przepełnienia występuje tylko wtedy, gdy dziennik zdarzeń osiągnie limit rozmiaru.The overflow behavior only occurs when an event log reaches its size limit. Gdy EventLog ma OverflowAction ustawioną wartość OverwriteOlder , a dziennik zdarzeń osiągnie maksymalny rozmiar, nowe wpisy są zapisywane tylko wtedy, gdy mogą zastąpić wpisy, których wiek przekracza MinimumRetentionDays czas.When an EventLog has its OverflowAction set to OverwriteOlder, and the event log reaches its maximum size, then new entries are written only if they can replace entries whose age exceeds the MinimumRetentionDays period. Zachowywanie wpisów zdarzeń przez okres minimalny jest odpowiednie w przypadku regularnego archiwizowania dziennika zdarzeń.Retaining event entries for a minimum period is appropriate when the event log is archived regularly. W przeciwnym razie użytkownik jest narażony na utratę nowych wpisów, gdy dziennik zdarzeń osiągnie limit.Otherwise, you risk losing new entries when the event log reaches its limit. Aby uniknąć utraty nowych informacji o zdarzeniu, należy ustawić minimalną liczbę dni przechowywania dla zdarzeń na podstawie harmonogramu archiwum dla określonego dziennika zdarzeń.To avoid losing new event information, set the minimum retention days for events based on your archive schedule for a particular event log.