<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
および 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>
関連項目
.NET