EventProviderTraceListener 類別

定義

TraceSource 的接聽項,其負責將事件寫入至 ETW 子系統。

public ref class EventProviderTraceListener : System::Diagnostics::TraceListener
public class EventProviderTraceListener : System.Diagnostics.TraceListener
type EventProviderTraceListener = class
    inherit TraceListener
Public Class EventProviderTraceListener
Inherits TraceListener
繼承
EventProviderTraceListener

範例

private static Guid providerId = new Guid("{B3F0C8FC-E8A8-4868-8901-1465E8A2F41B}");  

    EventProviderTraceListener listener = new EventProviderTraceListener(providerId.ToString(), "Test Listener", "::");  

    // You should use the All default level and control the level using the  
    // ETW session; otherwise, you may not log all the events requested by the  
    // session.  
    TraceSource source = new TraceSource("MyProvider", SourceLevels.All);  

    source.Listeners.Add(listener);  

    source.TraceData(TraceEventType.Warning | TraceEventType.Start, 2, new object[] { "abc", "def", true, 123 });  

    source.TraceEvent(TraceEventType.Warning, 12, "Provider guid: {0}", new object[] { providerId });  

    source.TraceInformation("string {0}, bool {1}, int {2}, ushort {3}", new object[] { "abc", false, 123, (UInt32)5 });  

備註

從來源事件追蹤或偵錯) 的所有事件 (數據都會以字串的形式寫入 ETW 子系統。 數據元素會使用逗號分隔。 若要指定不同的分隔符,請使用 Delimiter 屬性。

新增接聽程式以 System.Diagnostics.TraceSource 向 ETW 子系統註冊提供者。 您必須使用 Logman.exe 可執行程式建立 ETW 追蹤工作階段, (或類似的程式) ,才能將事件寫入記錄檔。

您不需要指令清單來取用接聽程式的事件,因為事件數據是單一字串。

當您呼叫 System.Diagnostics.TraceSource 方法來寫入事件時,您會傳遞 System.Diagnostics.TraceEventType 列舉值。 列舉包含層級和關鍵詞值。 當您從 ETW 工作階段啟用追蹤接聽程式提供者時,您指定的層級值可以是與下列 System.Diagnostics.TraceEventType 其中一個列舉值相關聯的值:

  • 重大 (值為 1)

  • 錯誤 (值為 2)

  • 資訊 (值為8)

  • 詳細資訊 (值為16)

  • 警告 (值為 4)

您為工作階段指定的關鍵字值可以是與下列 System.Diagnostics.TraceEventType 其中一個列舉值相關聯的值:

  • Resume (值為 2,048)

  • 開始 (值為 256)

  • 停止 (值為 512)

  • 暫止 (值為 1,024)

  • 傳輸 (值為 4,096)

建構函式

EventProviderTraceListener(String)

使用指定的提供者識別項,初始化 EventProviderTraceListener 類別的新執行個體。

EventProviderTraceListener(String, String)

使用指定的提供者識別項和接聽項的名稱,初始化 EventProviderTraceListener 類別的新執行個體。

EventProviderTraceListener(String, String, String)

使用指定的提供者識別項、接聽項的名稱和分隔符號,初始化 EventProviderTraceListener 類別的新執行個體。

屬性

Attributes

取得在應用程式組態檔中定義的自訂追蹤接聽程式屬性。

(繼承來源 TraceListener)
Delimiter

取得或設定用來分隔寫入至 ETW 子系統事件資料的分隔符號。

Filter

取得或設定追蹤接聽程式的追蹤篩選。

(繼承來源 TraceListener)
IndentLevel

取得或設定縮排層級。

(繼承來源 TraceListener)
IndentSize

取得或設定縮排的空格數目。

(繼承來源 TraceListener)
IsThreadSafe

取得值,指出追蹤接聽程式是否為安全執行緒。

Name

取得或設定這個 TraceListener 的名稱。

(繼承來源 TraceListener)
NeedIndent

取得或設定值,指出是否要縮排輸出。

(繼承來源 TraceListener)
TraceOutputOptions

取得或設定追蹤輸出選項。

(繼承來源 TraceListener)

方法

Close()

關閉輸出資料流,使它不再接收追蹤或偵錯輸出。

CreateObjRef(Type)

建立包含所有相關資訊的物件,這些資訊是產生用來與遠端物件通訊的所需 Proxy。

(繼承來源 MarshalByRefObject)
Dispose()

釋放 TraceListener 所使用的所有資源。

(繼承來源 TraceListener)
Dispose(Boolean)

釋放 TraceListener 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

(繼承來源 TraceListener)
Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Fail(String)

當您實作 TraceListener 類別時,發出錯誤訊息給您建立的接聽程式。

(繼承來源 TraceListener)
Fail(String, String)

當您實做 TraceListener 類別時,發出錯誤訊息和詳細的錯誤訊息給您建立的接聽程式。

Flush()

排清輸出緩衝區。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetLifetimeService()
已淘汰.

擷取控制這個執行個體存留期 (Lifetime) 原則的目前存留期服務物件。

(繼承來源 MarshalByRefObject)
GetSupportedAttributes()

取得由追蹤接聽程式支援的自訂屬性。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
InitializeLifetimeService()
已淘汰.

取得存留期服務物件,以控制這個執行個體的存留期原則。

(繼承來源 MarshalByRefObject)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
MemberwiseClone(Boolean)

建立目前 MarshalByRefObject 物件的淺層複本。

(繼承來源 MarshalByRefObject)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

寫入追蹤資訊、資料物件與事件資訊至特定接聽程式的輸出。

TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

寫入追蹤資訊、資料物件與事件資訊至特定接聽程式的輸出。

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

寫入追蹤和事件資訊至特定接聽程式的輸出。

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

寫入追蹤資訊、訊息與事件資訊至特定接聽程式的輸出。

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

寫入追蹤資訊、格式化的物件陣列與事件資訊至特定接聽程式的輸出。

TraceTransfer(TraceEventCache, String, Int32, String, Guid)

寫入追蹤資訊、訊息、相關活動身分識別與事件資訊至特定接聽程式的輸出。

Write(Object)

將物件的 ToString() 方法的值寫入當您實作 TraceListener 類別時所建立的接聽程式。

(繼承來源 TraceListener)
Write(Object, String)

將類別名稱和物件的 ToString() 方法的值寫入當您實作 TraceListener 類別時所建立的接聽程式。

(繼承來源 TraceListener)
Write(String)

當在衍生類別中覆寫時,將指定的訊息寫入您在衍生類別中建立的接聽程式。

Write(String, String)

將分類名稱和訊息寫入當您實作 TraceListener 類別時所建立的接聽程式。

(繼承來源 TraceListener)
WriteIndent()

將縮排寫入當您實作這個類別時所建立的接聽程式,並且將 NeedIndent 屬性重設為 false

(繼承來源 TraceListener)
WriteLine(Object)

將物件的 ToString() 方法的值寫入當您實作 TraceListener 類別時所建立的接聽程式,後面跟隨著行結束字元。

(繼承來源 TraceListener)
WriteLine(Object, String)

將分類名稱和物件的 ToString() 方法的值寫入當您實作 TraceListener 類別時所建立的接聽程式,後面跟隨著行結束字元。

(繼承來源 TraceListener)
WriteLine(String)

當在衍生類別中覆寫時,將訊息寫入您在衍生類別中所建立的接聽程式,後面跟隨著行結束字元。

WriteLine(String, String)

將分類名稱和訊息寫入當您實作 TraceListener 類別時所建立的接聽程式,後面跟隨著行結束字元。

(繼承來源 TraceListener)

適用於

另請參閱