<trace> の <listeners> の <add> 要素
Listeners コレクションにリスナーを追加します。
<add name="name"
type="trace listener class name, Version, Culture, PublicKeyToken"
initializeData="data"/>
属性および要素
以降のセクションでは、属性、子要素、および親要素について説明します。
属性
属性 |
説明 |
---|---|
type |
必須の属性です。 リスナーの型を指定します。 「完全修飾型名の指定」に指定されている要件に合った文字列を使用する必要があります。 |
initializeData |
省略可能な属性です。 指定したクラスのコンストラクターに渡す文字列。 |
name |
省略可能な属性です。 リスナーの名前を指定します。 |
子要素
なし。
親要素
要素 |
説明 |
---|---|
configuration |
共通言語ランタイムおよび .NET Framework アプリケーションで使用されるすべての構成ファイルのルート要素です。 |
listeners |
メッセージを収集、格納、およびルーティングするリスナーを指定します。 リスナーは、トレース出力を適切なターゲットに転送します。 |
system.diagnostics |
ASP.NET 構成セクションのルート要素を指定します。 |
trace |
トレース メッセージを収集、格納、およびルーティングするリスナーを保持します。 |
解説
Debug クラスおよび Trace クラスは、同じ Listeners コレクションを共有します。 これらのクラスの一方のコレクションにリスナー オブジェクトを追加すると、もう一方のクラスは同じリスナーを使用します。 リスナー クラスは、TraceListener クラスの派生クラスです。
トレース リスナーの name 属性を指定しない場合は、トレース リスナーの Name は、既定で空の文字列 ("") に設定されます。 アプリケーションにリスナーが 1 つしかない場合、名前を指定しなくてもリスナーを追加でき、名前に空の文字列を指定してリスナーを削除できます。 ただし、アプリケーションに複数のリスナーがある場合は、各トレース リスナーの一意の名前を指定する必要があります。これにより、Listeners および Listeners コレクション内の個別のトレース リスナーを識別および管理できます。
メモ |
---|
同じ名前を持つ同じ型のトレース リスナーを複数追加すると、その型と名前を持つトレース リスナーが 1 つだけ Listeners コレクションに追加されます。ただし、プログラムを使用すると、複数の同一のリスナーを Listeners コレクションに追加できます。 |
initializeData 属性の値は、作成するリスナーの型によって異なります。 initializeData を指定する必要のないトレース リスナーもあります。
メモ |
---|
initializeData 属性を使用すると、"initializeData 属性は宣言されていません" というコンパイラの警告が表示される場合があります。 この警告は、initializeData 属性を認識しない TraceListener 抽象基本クラスに対して構成設定が検証されたために発生します。通常、パラメーターを受け取るコンストラクターのあるトレース リスナーの実装では、この警告を無視してもかまいません。 |
.NET Framework に付属するトレース リスナーを次の表に示し、各リスナーの initializeData 属性の値を説明します。
トレース リスナー クラス |
initializeData 属性の値 |
---|---|
ConsoleTraceListener コンストラクターの useErrorStream 値。 initializeData 属性を "true" に設定すると、トレースとデバッグの出力を Console.Error に書き込みます。"false" に設定すると、Console.Out に書き込みます。 |
|
DelimitedListTraceListener が出力を書き込むファイルの名前。 |
|
既存のイベント ログ ソースの名前。 |
|
EventSchemaTraceListener が出力を書き込むファイルの名前。 |
|
TextWriterTraceListener が出力を書き込むファイルの名前。 |
|
XmlWriterTraceListener が出力を書き込むファイルの名前。 |
使用例
<add> 要素を使用して、Listeners コレクションにリスナー MyListener および MyEventListener を追加する方法を次の例に示します。 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>