共用方式為


<trace> 適用之 <listeners> 的 <add> 項目

將接聽程式加入至 Listeners 集合。

<add name="name" 
     type="trace listener class name, Version, Culture, PublicKeyToken"
     initializeData="data"/>

屬性和項目

下列各節將說明屬性、子項目和父項目。

屬性

屬性

說明

type

必要屬性。

指定接聽程式的類型。 您必須使用符合指定完整的型別名稱中指定之需求的字串。

initializeData

選擇性屬性。

傳遞至指定類別的建構函式的字串。

name

選擇性屬性。

指定接聽程式的名稱。

子項目

無。

父項目

項目

描述

configuration

Common Language Runtime 和 .NET Framework 應用程式所使用之每個組態檔中的根項目。

listeners

指定收集、存放及傳送訊息的接聽程式。 接聽程式將追蹤輸出導向至適當的目標。

system.diagnostics

指定 ASP.NET 組態區段的根項目。

trace

包含收集、存放和傳送追蹤訊息的接聽程式。

備註

DebugTrace 類別共用一個 Listeners 集合。 如果您將接聽程式物件加入至其中一個類別的集合,另一個類別會使用相同的接聽程式。 接聽程式類別是從 TraceListener 類別衍生而來。

如果您未指定追蹤接聽程式的 name 屬性,追蹤接聽程式的 Name 預設為空字串 empty string ("")。 如果您的應用程式僅有一個接聽程式,可以不必指定名稱就新增,並為名稱指定空字串以移除。 然而,如果您的應用程式有超過一個接聽程式,則應為每個追蹤接聽程式指定唯一的名稱,此可讓您辨識並管理 ListenersListeners 集合中個別的追蹤接聽程式。

注意事項注意事項

加入多個具有相同型別與相同名稱的追蹤接聽程式,結果只有一個該型別和名稱的追蹤接聽程式會加入至 Listeners 集合。不過,您可以經由程式設計方式將多個完全相同的接聽程式加入至 Listeners 集合中。

initializeData 屬性的值視您建立的接聽程式類型而定。 並非所有的接聽程式都會要求您指定 initializeData

注意事項注意事項

當您使用 initializeData 屬性時,可能會收到下列編譯器警告訊息:「'initializeData' 屬性未宣告」。這項警告出現的原因是驗證組態設定時其對象是基底型別 TraceListener,但此基底型別無法識別 initializeData 屬性。如果追蹤接聽程式實作中包含採用參數的建構函式,您通常可以忽略這項警告。

下表顯示 .NET Framework 隨附的追蹤接聽程式,並描述其 initializeData 屬性的值。

追蹤接聽程式類別

initializeData 屬性值

System.Diagnostics.ConsoleTraceListener

ConsoleTraceListener 建構函式的 useErrorStream 值。 將 initializeData 屬性設成 "true",可將追蹤及偵錯輸出寫入至 Console.Error;設成 "false" 則會寫入至 Console.Out

System.Diagnostics.DelimitedListTraceListener

DelimitedListTraceListener 要寫入的檔案名稱。

System.Diagnostics.EventLogTraceListener

現有事件記錄檔來源的名稱。

System.Diagnostics.EventSchemaTraceListener

EventSchemaTraceListener 寫入的檔案名稱。

System.Diagnostics.TextWriterTraceListener

TextWriterTraceListener 寫入的檔案名稱。

System.Diagnostics.XmlWriterTraceListener

XmlWriterTraceListener 寫入的檔案名稱。

範例

下列範例示範如何使用 **<add>**項目將接聽項 MyListener 和 MyEventListener 加入到追蹤來源 Listeners 集合中。 MyListener 會建立一個名為 MyListener.log 的檔案,並將輸出寫入至該檔案中。 MyEventListener 會在事件記錄檔中建立項目。

<configuration>
   <system.diagnostics>
      <trace autoflush="true" indentsize="0">
         <listeners>
            <add name="myListener" type="System.Diagnostics.TextWriterTraceListener, system, version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" initializeData="c:\myListener.log" />
            <add name="MyEventListener"
                 type="System.Diagnostics.EventLogTraceListener, system, version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"                 initializeData="MyConfigEventLog"/>
            <add name="configConsoleListener"
                 type="System.Diagnostics.ConsoleTraceListener, system, version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
         </listeners>
      </trace>
   </system.diagnostics>
</configuration>

請參閱

參考

追蹤和偵錯設定結構描述

Trace

Debug

EventLogTraceListener

ConsoleTraceListener

TextWriterTraceListener

概念

追蹤接聽項