EventLog.MaximumKilobytes 屬性

定義

取得或設定最大事件記錄檔大小 (以 KB 為單位)。

C#
[System.ComponentModel.Browsable(false)]
public long MaximumKilobytes { get; set; }
C#
[System.ComponentModel.Browsable(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public long MaximumKilobytes { get; set; }

屬性值

最大事件記錄檔大小 (以 KB 為單位)。 預設值為 512,表示最大記錄檔大小為 512 KB。

屬性

例外狀況

指定的值小於 64 或大於 4194240,或者不是 64 的偶數倍數。

這個 Log 值不是有效的記錄檔名稱。

-或-

無法在目標電腦上開啟事件記錄檔的登錄機碼。

範例

下列範例會列舉本機計算機上定義的事件記錄檔,並顯示每個事件記錄檔的組態詳細數據。

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

備註

屬性 MaximumKilobytes 代表事件記錄檔的大小限制。 當事件記錄檔達到大小限制時,設定 OverflowAction 的值會決定是否捨棄新專案,或新專案是否覆寫較舊的專案。

注意

這個屬性代表這個實例所表示之事件記錄檔的組態設定。 當事件記錄檔達到其大小上限時,此屬性會指定操作系統如何處理針對事件記錄檔註冊的所有事件來源所寫入的新專案。

適用於

產品 版本
.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

另請參閱