Share via


讀取與管理事件記錄檔的技術摘要

應用程式會在事件記錄檔中記錄事件,以記錄資訊、警告與錯誤,以便系統管理員、客戶支援人員、工具或使用者可以監控應用程式的狀況和動作。您可以使用 System.Diagnostics.Eventing.Reader 命名空間中的類別來擷取事件、事件記錄檔和記錄事件的應用程式 (事件提供者) 之資訊,也可以設定事件記錄檔屬性。只能夠在執行 Windows Vista 或 Windows Server 2008 作業系統的電腦上使用這些類別。如需使用事件記錄檔類別的案例清單,請參閱事件記錄檔案例。如需在 Windows Server 2003、Windows XP 或 Windows 2000 上存取事件記錄檔資訊的詳細資訊,請參閱 https://go.microsoft.com/fwlink/?LinkId=99047 (可能為英文網頁)。

事件

每個事件都包含資訊性、警告或錯誤訊息。事件也包含事件層級 (安全性)、記錄事件的事件提供者名稱,以及記錄事件的時間等屬性。事件是由 EventLogRecord 物件表示,因此若要取得完整的事件屬性清單,請檢視 EventLogRecord 類別的成員。

每個事件都可以用 XML 來表示,其中事件屬性和訊息是在 XML 項目中定義。若要擷取事件 XML,請使用 ToXml 方法。如需事件和事件 XML 的詳細資訊,請參閱 https://go.microsoft.com/fwlink/?LinkID=94642事件查詢與事件 XML

若要取得事件訊息,請使用 FormatDescription 方法。如需程式碼範例的詳細資訊,請參閱 HOW TO:查詢事件

EventLogType 列舉定義四種不同類型的事件。每一種類型的事件針對不同的對象。最常見的事件類型是「操作」和「系統管理」。

事件記錄檔

事件記錄檔保存相關的事件,而且每個記錄檔只能包含一種類型的事件。可以將事件記錄儲存 (封存) 在 .evtx 檔中,稍後可利用程式設計的方式或透過事件檢視器工具來讀取和查詢。Windows 記錄檔會儲存來自舊版應用程式 (針對 Windows XP、Windows Server 2003, or 或 Windows 2000 所設計的應用程式) 的事件,以及套用到整個系統的事件。

Windows 記錄檔 描述

應用程式

應用程式記錄檔包含由應用程式或程式所記錄的事件。例如,資料庫程式可能會將檔案錯誤記錄在應用程式記錄檔中。程式開發人員可決定要記錄哪些事件。

安全性

安全性記錄檔包含有效和無效登入嘗試的事件,以及與資源使用相關的事件 (例如:建立、開啟或刪除檔案或其他物件)。系統管理員可以指定要記錄在安全性記錄檔中的事件。例如,如果您已經啟用登入稽核,則登入系統的嘗試會記錄在安全性記錄檔中。

系統

系統記錄檔包含由 Windows 系統元件所記錄的事件。例如,驅動程式錯誤或啟動期間載入之其他系統元件的錯誤會記錄在系統記錄檔中。系統元件記錄的事件類型由 Windows 預先決定。

安裝

安裝記錄檔包含與應用程式安裝相關的事件。

轉送的事件

轉送的事件記錄檔是用來儲存從遠端電腦收集的事件。

應用程式記錄檔和服務記錄檔是和 Windows 記錄檔不同分類的事件記錄檔。應用程式記錄檔和服務記錄檔是儲存來自單一應用程式或元件的事件,而不是會影響整個系統的事件。應用程式記錄檔和服務記錄檔具有多種由事件提供者所定義的不同名稱。有許多事件記錄檔屬於此分類。若要瀏覽可用的事件記錄檔,請使用<工具>該節所提到的工具。

應用程式記錄檔和服務記錄檔分類中的事件記錄被分割成 EventLogType 列舉所定義的四種類型:「系統管理」、「操作」、「分析」與「偵錯」。使用事件檢視器來疑難排解問題的 IT 專業人員可能會對「系統管理」類型記錄檔中的事件特別感興趣。「系統管理」類型記錄檔中的事件應該會提供如何回應事件的相關資訊。「操作」類型記錄檔中的事件也對 IT 專業人員很有用,但是其中的資訊可能較難解譯。

「分析」類型記錄檔和「偵錯」類型記錄檔不是很容易理解。「分析」類型記錄檔會儲存追蹤問題的事件,而且通常會記錄許多事件。「偵錯」類型記錄檔是開發人員在偵錯應用程式時所使用的。根據預設,「分析」類型記錄檔和「偵錯」類型記錄檔為隱藏且停用。

若要收集事件記錄檔的相關資訊,請使用 EventLogInformation 類別。若要設定事件記錄檔屬性,請使用 EventLogConfiguration 類別。每個事件記錄檔都包含 SecurityDescriptor 屬性,可決定哪些使用者可讀取和存取記錄檔。每個記錄檔也有一個控制記錄檔大小上限的屬性 (MaximumSizeInBytes 屬性)。每個記錄檔也有一個可控制當事件記錄檔已滿時如何處理事件的屬性 (LogMode 屬性)。如需設定事件記錄檔的詳細資訊,請參閱 HOW TO:設定與讀取事件記錄檔屬性

事件提供者

記錄事件的應用程式稱為事件提供者。事件提供者會識別可發行事件的事件記錄檔,提供者也會定義可發行的事件。每個事件提供者均由名稱和全域唯一識別碼 (GUID) 來唯一識別。您可以使用 ProviderMetadata 類別來收集事件提供者的相關資訊。該類別的 Events 屬性會取得提供者可發行之所有事件的集合。這些事件物件由 EventMetadata 類別所定義。如需存取事件提供者資料的詳細資訊,請參閱 HOW TO:擷取事件提供者的相關資訊

您無法使用 System.Diagnostics.Eventing.Reader 命名空間中的類別來建立事件提供者。如需建立事件提供者的詳細資訊,請參閱開發事件提供者 (可能為英文網頁)。

工具

若要從命令列存取事件記錄檔資訊,請使用 WevtUtil.exe 工具。這個工具位於 %SystemRoot%\System32 目錄中。若需 WevtUtil.exe 工具說明,請使用 wevtutil /? 命令。

若要從圖形化使用者介面存取事件記錄檔資訊,請使用事件檢視器工具。事件檢視器是 Microsoft Management Console (MMC) 嵌入式管理單元,可讓使用者瀏覽和管理事件記錄檔。測試使用事件記錄檔功能的應用程式時,此工具也很有用。如需使用或啟動事件檢視器的詳細資訊,請參閱事件檢視器概觀 (可能為英文網頁)。

請參閱

參考

System.Diagnostics.Eventing.Reader

概念

事件記錄檔案例
事件查詢與事件 XML

Footer image

請將您對這個主題的意見傳送至 Microsoft。

Copyright © 2007 by Microsoft Corporation. All rights reserved.