次の方法で共有


<trace> の <listeners> の <add> 要素

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

<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 トレース メッセージを収集、格納、およびルーティングするリスナーを保持します。

解説

Debug クラスと Trace クラスでは、同じ Listeners コレクションが共有されます。 これらのクラスのいずれかのコレクションにリスナー オブジェクトを追加すると、もう一方のクラスでも同じリスナーが使用されます。 リスナー クラスは TraceListener から派生します。

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

Note

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

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

Note

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

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

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

次の例は、<add> 要素を使用して、リスナー MyListener および MyEventListenerListeners コレクションに追加する方法を示しています。 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>  

関連項目