共用方式為


HOW TO:加入應用程式做為事件記錄檔項目來源

更新:2007 年 11 月

您必須用事件記錄檔將元件登錄為有效的事件來源,才能讓元件將項目寫入事件記錄檔。您可以使用 CreateEventSource 方法,並指定一個唯一可讓事件記錄檔識別元件的字串,來完成這項工作。當您寫入記錄檔項目時,系統會使用您所識別的來源尋找出要放置項目的適當記錄檔。您的 EventLog 元件執行個體在同一時間只能寫入到一個記錄檔。

注意事項:

根據預設,假如您嘗試未先將元件登錄為有效來源時寫入項目,系統會使用 Source 屬性 (Property) 的值當成來源字串,自動用事件記錄檔登錄來源。一般而言,會在安裝應用程式期間建立新的事件來源。這可讓作業系統有時間重新整理已登錄事件來源的清單及其組態。如果作業系統並未重新整理其事件來源清單,而您嘗試要用新的來源寫入事件,則寫入作業將失敗。如果不可能在安裝時建立來源,則請設法在第一次寫入作業之前建立來源,也許在應用程式初始化期間即可建立。如果選擇採用這種方式,就一定要在電腦上用系統管理員權限,執行初始化程式碼。您必須要有這些權限,才能建立新的事件來源。

使用 CreateEventSource 方法時,如果指定了不存在的記錄檔名稱,則系統會以您第一次嘗試將項目寫入記錄檔時的名稱,來建立一個新的自訂記錄檔。如需詳細資訊,請參閱 HOW TO:建立及移除自訂事件記錄檔

您可以利用事件分類和訊息字串的當地語系化資源,登錄事件的來源。您的應用程式可以使用資源識別項,而不是指定實際的字串值,來寫入事件記錄檔項目。如需利用資源檔設定來源的詳細資訊,請參閱 EventLogInstallerEventSourceCreationData 類別。

若要將您的元件建立為事件來源

  • 如果要在本機電腦上建立項目,請呼叫 CreateEventSource 方法,並將來源字串及記錄檔名稱指定為參數。

    注意事項:

    如果您將記錄檔名稱指定為 null (" "),則它會預設值為 Application

    下列範例會說明如何將元件 MyApp1 登錄為應用程式記錄檔的來源。此程式碼會假設 System.Diagnostics 命名空間 (Namespace) 已有 Imports 或 using 陳述式存在:

    EventLog.CreateEventSource("MyApp1", "Application")
    
         System.Diagnostics.EventLog.CreateEventSource("MyApp1", "Application");
    
    秘訣

    若要在遠端電腦上建立事件來源,請使用 EventSourceCreationData。下列程式碼示範一個範例:

    Dim creationData As New EventSourceCreationData("ApplicationName", "Application")
    creationData.MachineName = "ServerName"
    EventLog.CreateEventSource(creationData)
    
         System.Diagnostics.EventSourceCreationData creationData = new
                System.Diagnostics.EventSourceCreationData("ApplicationName", "Application");
            creationData.MachineName = "ServerName";
            EventLog.CreateEventSource(creationData);
    

請參閱

工作

HOW TO:判斷事件來源是否存在

HOW TO:移除事件來源

HOW TO:建立及移除自訂事件記錄檔

逐步解說:探索事件記錄檔、事件來源和項目

概念

EventLog 元件的簡介

參考

EventLog