<source> の <listeners> の <add> 要素

トレース ソースの Listeners コレクションにリスナーを追加します。

<configuration>
  <system.diagnostics>
    <sources>
      <source>
        <listeners>
          <add>

構文

<add name="name"
  type="TraceListenerClassName, Version, Culture, PublicKeyToken"  
  initializeData="data"/>  

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。

属性

属性 説明
type 必須属性です。ただし、sharedListeners コレクション内のリスナーを参照する場合は、名前だけで参照することができます (「」を参照)。

リスナーの種類を指定します。 「完全修飾型名の指定」で指定された要件を満たす文字列を使用する必要があります。
initializeData 省略可能な属性です。

指定されたクラスのコンストラクターに渡される文字列。 クラスに文字列を受け取るコンストラクターがない場合は、ConfigurationException がスローされます。
name 省略可能な属性です。

リスナーの名前を指定します。
traceOutputOptions 省略可能な属性です。

トレース リスナーの TraceOutputOptions プロパティ値を指定します。
[カスタム属性] 省略可能な属性です。

リスナーの GetSupportedAttributes メソッドによって識別される、リスナー固有の属性の値を指定します。 Delimiter は、DelimitedListTraceListener クラスに固有の追加属性の例です。

子要素

要素 説明
<filter> トレース ソースの Listeners コレクション内のリスナーにフィルターを追加します。

親要素

要素 説明
configuration 共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。
system.diagnostics メッセージを収集、格納、およびルーティングするトレース リスナーとトレース スイッチを設定するレベルを指定します。
sources トレース メッセージを開始するトレース ソースを保持します。
source トレース メッセージを開始するトレース ソースを指定します。
listeners メッセージを収集、格納、およびルーティングするリスナーを指定します。

解説

.NET Framework に付属しているリスナー クラスは、TraceListener クラスから派生したものです。

トレース リスナーの name 属性を指定しなかった場合、トレース リスナーの Name プロパティは既定で空の文字列 ("") になります。 アプリケーションにリスナーが 1 つしかない場合は、名前を指定せずにリスナーを追加でき、名前に空の文字列を指定することでリスナーを削除できます。 ただし、アプリケーションに複数のリスナーがある場合は、各トレース リスナーに一意の名前を指定する必要があります。これにより、TraceSource.Listeners コレクション内の個々のトレース リスナーを識別し、管理できるようになります。

Note

同じ種類の複数のトレース リスナーを同じ名前で追加すると、その種類と名前のトレース リスナーは 1 つだけになり、Listeners コレクションに追加されます。 ただし、複数の同じリスナーをプログラムによって Listeners コレクションに追加することはできます。

initializeData 属性の値は、作成するリスナーの種類によって異なります。 すべてのトレース リスナーで initializeData を指定する必要はありません。

Note

initializeData 属性を使用すると、「'initializeData' 属性が宣言されていません」というコンパイラの警告が表示されることがあります。この警告が表示されるのは、initializeData 属性を認識しない抽象基底クラス TraceListener に対して構成設定が検証されるためです。 通常、パラメーターを受け取るコンストラクターを持つトレース リスナーの実装では、この警告を無視できます。

次の表で、.NET Framework に含まれているトレース リスナーを示し、それらの initializeData 属性の値について説明します。

トレース リスナー クラス initializeData 属性値
System.Diagnostics.ConsoleTraceListener ConsoleTraceListener コンストラクターの useErrorStream 値。 トレースおよびデバッグ出力を標準エラー ストリームに書き込むには、initializeData 属性を "true" に設定します。標準出力ストリームに書き込むには、"false" に設定します。
System.Diagnostics.DelimitedListTraceListener DelimitedListTraceListener が出力を書き込むファイルの名前。
System.Diagnostics.EventLogTraceListener 既存のイベント ログ ソースの名前。
System.Diagnostics.EventSchemaTraceListener EventSchemaTraceListener による書き込み先のファイルの名前。
System.Diagnostics.TextWriterTraceListener TextWriterTraceListener による書き込み先のファイルの名前。
System.Diagnostics.XmlWriterTraceListener XmlWriterTraceListener による書き込み先のファイルの名前。

構成ファイル

この要素は、マシン構成ファイル (Machine.config) とアプリケーション構成ファイルで使用できます。

次の例は、<add> 要素を使用して、リスナー console および textListener を トレース ソース TraceSourceAppListeners コレクションに追加する方法を示しています。 textListener リスナーにより、トレース出力がファイル myListener.log に書き込まれます。

<configuration>  
  <system.diagnostics>  
    <sources>  
      <source name="TraceSourceApp" switchName="sourceSwitch"
        switchType="System.Diagnostics.SourceSwitch">  
        <listeners>  
          <add name="console"
            type="System.Diagnostics.ConsoleTraceListener"/>  
          <add name="textListener"/>  
          <remove name="Default"/>  
        </listeners>  
      </source>  
    </sources>  
    <sharedListeners>  
      <add name="textListener"
        type="System.Diagnostics.TextWriterTraceListener"
        initializeData="myListener.log"/>  
    </sharedListeners>  
    <switches>  
      <add name="sourceSwitch" value="Warning"/>  
    </switches>  
  </system.diagnostics>  
</configuration>

関連項目