<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
を トレース ソース TraceSourceApp
の Listeners
コレクションに追加する方法を示しています。 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>
関連項目
.NET