Ler em inglês

Compartilhar via


OverflowAction Enumeração

Definição

Especifica como lidar com as entradas em um log de eventos que atingiu seu tamanho máximo do arquivo.

C#
public enum OverflowAction
Herança
OverflowAction

Campos

Nome Valor Description
DoNotOverwrite -1

Indica que as entradas existentes serão retidas quando o log de eventos estiver cheio e novas entradas forem descartadas.

OverwriteAsNeeded 0

Indica que cada nova entrada substitui a entrada mais antiga, quando o log de eventos está cheio.

OverwriteOlder 1

Indica que os novos eventos substituem eventos mais antigos que o especificado pelo valor da propriedade MinimumRetentionDays quando o log de eventos está cheio. Novos eventos serão descartados se o log de eventos estiver cheio e não houver eventos mais antigos que o especificado pelo valor da propriedade MinimumRetentionDays.

Exemplos

O exemplo a seguir enumera os logs de eventos definidos no computador local e exibe detalhes de configuração para cada log de eventos.

C#
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;
        }
    }
}

Comentários

Cada log de eventos tem um limite de tamanho máximo e uma configuração configurável que fornece a regra para gravar novas entradas nesse limite. Quando o log de eventos atingir seu tamanho máximo, você poderá especificar uma das seguintes regras:

  • Novas entradas serão descartadas.

  • Novas entradas substituirão entradas mais antigas.

  • Novas entradas serão descartadas ou substituirão as entradas existentes, dependendo da idade das entradas existentes.

Use o ModifyOverflowPolicy método para definir o comportamento de estouro para um EventLog. Verifique o comportamento atual configurado de um EventLog por meio de sua OverflowAction propriedade .

Aplica-se a

Produto Versões
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9