EventLog.OverflowAction Özellik

Tanım

Olay günlüğü en büyük günlük dosyası boyutuna ulaştığında yeni girdileri depolamak için yapılandırılan davranışı alır.

[System.ComponentModel.Browsable(false)]
public System.Diagnostics.OverflowAction OverflowAction { get; }
[System.ComponentModel.Browsable(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public System.Diagnostics.OverflowAction OverflowAction { get; }

Özellik Değeri

OverflowAction Olay günlüğü en büyük günlük boyutuna ulaştığında yeni girdileri depolamak için yapılandırılan davranışı belirten değer. Varsayılan değer: OverwriteOlder.

Öznitelikler

Örnekler

Aşağıdaki örnek, yerel bilgisayarda tanımlanan olay günlüklerini numaralandırır ve her olay günlüğü için yapılandırma ayrıntılarını görüntüler.

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

Açıklamalar

Yeni olaylar yazıldıkçe olay günlüklerinin boyutu büyür. Her olay günlüğünün yapılandırılmış bir boyut üst sınırı vardır; özelliği, MaximumKilobytes olay günlüğü dosya boyutu için izin verilen en fazla kilobayt sayısını tanımlar.

Bir olay günlüğünün OverflowAction yapılandırılmış taşma davranışını en büyük boyutunda incelemek için özellik değerini kullanın. Bir olay günlüğünün ModifyOverflowPolicy taşma davranışını değiştirmek için yöntemini kullanın.

Not

Taşma davranışı yalnızca bir olay günlüğü dosya boyutu üst sınırına ulaştığında geçerlilik kazanır. Taşma davranışı, ek olay günlüğü girişlerini barındırabilecek bir günlüğe yeni giriş yazmayı etkilemez.

Şunlara uygulanır

Ayrıca bkz.