EventLog.ModifyOverflowPolicy(OverflowAction, Int32) メソッド

定義

イベント ログが最大ファイル サイズに達した場合に、新しいエントリを書き込むように構成された動作を変更します。

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)

パラメーター

action
OverflowAction

イベント ログに新しいエントリを書き込むためのオーバーフロー動作。

retentionDays
Int32

イベント ログの各エントリが保持される最小日数。 このパラメーターは、actionOverwriteOlder に設定されている場合にのみ使用されます。

属性

例外

action は正しい OverflowAction 値ではありません。

retentionDays が 1 未満であるか、365 を超えています。

Log 値が有効なログ名ではありません。

- または -

ターゲット コンピューター上のイベント ログのレジストリ キーを開けませんでした。

次の例では、指定したイベント ログに対して構成されたオーバーフロー ポリシーを表示し、ユーザーがイベント ログの新しいオーバーフロー ポリシー設定を選択できるようにします。

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

注釈

イベント ログのオーバーフロー動作は、ファイルの最大サイズに達したログに新しいエントリを書き込む場合の動作を指定します。

注意

オーバーフロー動作は、イベント ログが最大ファイル サイズに達した場合にのみ有効になります。 オーバーフロー動作は、追加のイベント ログ エントリに対応できる新しいエントリをログに書き込む場合には影響しません。

メソッドは ModifyOverflowPolicy 、イベント ログのオーバーフロー動作を構成します。 EventLog インスタンス。 プロパティで指定されたイベント ログに対してこのメソッドをLog呼び出した後、 および MinimumRetentionDays プロパティの値には、OverflowAction新しく構成されたオーバーフロー動作が反映されます。

注意

このプロパティは、このインスタンスによって表されるイベント ログの構成設定を表します。 イベント ログが最大サイズに達すると、このプロパティは、オペレーティング システムがイベント ログに登録されているすべてのイベント ソースによって書き込まれた新しいエントリを処理する方法を指定します。

パラメーターを actionOverwriteAsNeeded 設定して、 が最大サイズに達したときに、新しいエントリが EventLog 最も古いエントリを上書きすることを示します。 パラメーターが actionOverwriteAsNeeded設定されている場合、パラメーター値 retentionDays は無視されます。

パラメーターを actionOverwriteOlder 設定して、 が最大サイズに達したときに新しい各エントリが EventLog 古いエントリを上書きすることを示します。 パラメーターを使用して、ログにイベントを保持する必要がある日数を retentionDays 指定します。 保持範囲内で書き込まれたイベントは、新しいエントリによって上書きされません。

ログの action 最大サイズに達したときに新しいイベントを破棄するには、 パラメーターを に DoNotOverwrite 設定します。 パラメーターが actionDoNotOverwrite設定されている場合、パラメーター値 retentionDays は無視されます。

注意事項

オーバーフロー ポリシーを に DoNotOverwrite 設定すると、イベント ログがいっぱいになると新しいエントリが破棄されます。 この設定を使用する場合は、イベント ログが定期的にアーカイブされ、クリアされていることを確認して、最大サイズ制限に達しないようにします。

適用対象

こちらもご覧ください