<為追蹤的<<接聽程式>新增>元素>

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

<configuration>
  <system.diagnostics>
    <trace>
      <listeners>
        <add>

語法

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

屬性和項目

下列章節說明屬性、子元素和父元素。

屬性

屬性 描述
type 必要的 屬性。

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

傳遞至指定類別之建構函式的字串。
name 選用屬性。

指定接聽程序的名稱。

子元素

元素 描述
<filter> 將篩選加入至追蹤集合中的 Listeners 接聽程式。

父項目

元素 描述
configuration 通用語言執行平台和 .NET Framework 應用程式所使用之每個組態檔中的根項目。
listeners 指定收集、儲存和路由訊息的接聽程式。 接聽程式會將追蹤輸出導向至適當的目標。
system.diagnostics 指定 ASP.NET 組態區段的根項目。
trace 包含用於收集、儲存及路由傳送追蹤訊息的接聽項。

備註

DebugTrace 類別會共用相同的接聽程式集合。 如果您將接聽程序物件新增至其中一個類別中的集合,另一個類別會使用相同的接聽程式。 接聽程式類別衍生自 TraceListener

如果您未指定 name 追蹤接聽程式的 屬性, Name 追蹤接聽程式的 會預設為空字串 (“” )。 如果您的應用程式只有一個接聽程式,您可以新增它而不指定名稱,並藉由指定名稱的空字串來移除它。 不過,如果您的應用程式有多個接聽程式,您應該為每個追蹤接聽程式指定唯一的名稱,這可讓您識別及管理和 Listeners 集合內的Listeners個別追蹤接聽程式。

注意

新增相同類型的多個追蹤接聽程式,且具有相同名稱,只會產生該型別的一個追蹤接聽程式,以及要新增至集合的名稱 Listeners 。 不過,您可以透過程序設計方式將多個相同的接聽程式新增至 Listeners 集合。

initializeData 屬性的值取決於您建立的接聽程序類型。 並非所有追蹤接聽程式都需要您指定 initializeData

注意

當您使用 initializeData 屬性時,可能會收到編譯程式警告「未宣告 』initializeData' 屬性」。因為組態設定會根據無法辨識initializeData屬性的抽象基類TraceListener進行驗證,因此會發生這個警告。 一般而言,您可以忽略具有採用參數之建構函式的追蹤接聽程序實作的這個警告。

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

追蹤接聽程序類別 initializeData 屬性值
System.Diagnostics.ConsoleTraceListener useErrorStream 構函式 ConsoleTraceListener 的值。 將 initializeData 屬性設定為 「true」,以將追蹤和偵錯輸出寫入至 Console.Error;要寫入的 Console.Outfalse
System.Diagnostics.DelimitedListTraceListener 寫入的檔名 DelimitedListTraceListener
System.Diagnostics.EventLogTraceListener 現有事件記錄檔來源的名稱。
System.Diagnostics.EventSchemaTraceListener 寫入的檔名 EventSchemaTraceListener
System.Diagnostics.TextWriterTraceListener 寫入的檔名 TextWriterTraceListener
System.Diagnostics.XmlWriterTraceListener 寫入的檔名 XmlWriterTraceListener

範例

下列範例示範如何使用 <add 元素來新增>接聽程式和接聽MyListenerMyEventListener程式集合。 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>  

另請參閱