TextWriterTraceListener クラス
トレース出力またはデバッグ出力を TextWriter または Stream (Console.Out や FileStream など) に転送します。
この型のすべてのメンバの一覧については、TextWriterTraceListener メンバ を参照してください。
System.Object
System.MarshalByRefObject
System.Diagnostics.TraceListener
System.Diagnostics.TextWriterTraceListener
Public Class TextWriterTraceListener
Inherits TraceListener
[C#]
public class TextWriterTraceListener : TraceListener
[C++]
public __gc class TextWriterTraceListener : public TraceListener
[JScript]
public class TextWriterTraceListener extends TraceListener
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
TextWriterTraceListener クラスは、トレース出力またはデバッグ出力を受信するテキスト ライタを取得または設定するための Writer プロパティを提供します。
また、このクラスは、 Writer を Close してトレース出力やデバッグ出力を受信しないようにするメソッド、 Writer 用の出力バッファを Flush するメソッド、および Writer にメッセージを Write するメソッドも提供します。
スイッチを使用するには、トレースまたはデバッグを有効にする必要があります。次の構文はコンパイラに固有です。C# または Visual Basic 以外のコンパイラを使用する場合は、使用するコンパイラのドキュメントを参照してください。
- C# でデバッグを有効にするには、コードのコンパイル時に /d:DEBUG フラグをコンパイラのコマンド ラインに追加するか、 #define DEBUG をファイルの最上部に挿入します。Visual Basic では、コンパイラのコマンド ラインに /d:DEBUG=True フラグを追加します。
- C# でトレースを有効にするには、コードのコンパイル時に /d:TRACE フラグをコンパイラのコマンド ラインに追加するか、 #define TRACE をファイルの最上部に挿入します。Visual Basic では、コンパイラのコマンド ラインに /d:TRACE=True フラグを追加します。
リスナのレベルを設定するには、アプリケーション名に対応する構成ファイルを編集します。このファイルでは、リスナの追加、その型とパラメータの設定、リスナの削除、アプリケーションで以前設定されたすべてのリスナのクリアを実行できます。構成ファイルの書式は次の例のとおりです。
このコード例を実行するには、アセンブリの完全限定名を指定する必要があります。アセンブリの完全限定名を取得する方法については、「 アセンブリ名 」を参照してください。
<configuration>
<system.diagnostics>
<switches>
<add name="MagicTraceSwitch" value="3" />
</switches>
<trace autoflush="false" indentsize="4">
<listeners>
<add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\myListener.log" />
<!-- You must supply a valid fully qualified assembly name here. -->
<remove type="Assembly text name, Version, Culture, PublicKeyToken"/>
</listeners>
</trace>
</system.diagnostics>
</configuration>
使用例
[Visual Basic, C#, C++] TextWriterTraceListener クラスの 2 つのインスタンスを実装する例を次に示します。1 番目のインスタンス myTextListener
は、 myOutputWriter
という名前の StreamWriter を使用して、 TestFile.txt
という名前のファイルに書き込みます。2 番目のインスタンス myWriter
は、コンソール画面に出力します。
[Visual Basic, C#, C++] この例では、最初に出力用のファイルを作成します。次に、1 番目のテキスト ライタ用の StreamWriter を作成し、出力ファイルを割り当て、 Listeners に追加します。続いて、2 番目のテキスト ライタを作成し、同様に Listeners に追加します。次に、1 行のテキストをファイルとコンソール画面に出力し、2 行をコンソール画面に出力します。最後に、出力バッファをフラッシュし、バッファを終了します。
[Visual Basic, C#, C++] このサンプルを実行した後で、 TestFile.txt
ファイルを開いて出力の内容を確認できます。
Public Class Sample
Public Shared Sub Main()
' Create a file for output named TestFile.txt.
Dim myFile As Stream = File.Create("TestFile.txt")
' Create a new text writer using the output stream, and add it to
' the trace listeners.
Dim myTextListener As New TextWriterTraceListener(myFile)
Trace.Listeners.Add(myTextListener)
' Create a text writer that writes to the console screen, and add
' it to the trace listeners
Dim myWriter As New TextWriterTraceListener(System.Console.Out)
Trace.Listeners.Add(myWriter)
' Write output to the file and to the console screen.
Trace.Write("Test output ")
' Write only to the console screen.
myWriter.WriteLine("Write only to the console screen.")
' Flush and close the output.
Trace.Flush()
myWriter.Flush()
myWriter.Close()
System.Environment.ExitCode = 0
End Sub
End Class
[C#]
public class Sample
{
public static int Main(string[] args) {
// Create a file for output named TestFile.txt.
Stream myFile = File.Create("TestFile.txt");
/* Create a new text writer using the output stream, and add it to
* the trace listeners. */
TextWriterTraceListener myTextListener = new
TextWriterTraceListener(myFile);
Trace.Listeners.Add(myTextListener);
/* Create a text writer that writes to the console screen, and add
* it to the trace listeners */
TextWriterTraceListener myWriter = new
TextWriterTraceListener(System.Console.Out);
Trace.Listeners.Add(myWriter);
// Write output to the file and to the console screen.
Trace.Write("Test output ");
// Write only to the console screen.
myWriter.WriteLine("Write only to the console screen.");
// Flush and close the output.
Trace.Flush();
myWriter.Flush();
myWriter.Close();
return 0;
}
}
[C++]
int main() {
// Create a file for output named TestFile.txt.
Stream* myFile = File::Create(S"TestFile.txt");
/* Create a new text writer using the output stream, and add it to
* the trace listeners. */
TextWriterTraceListener* myTextListener = new
TextWriterTraceListener(myFile);
Trace::Listeners->Add(myTextListener);
/* Create a text writer that writes to the console screen, and add
* it to the trace listeners */
TextWriterTraceListener* myWriter = new
TextWriterTraceListener(System::Console::Out);
Trace::Listeners->Add(myWriter);
// Write output to the file and to the console screen.
Trace::Write(S"Test output ");
// Write only to the console screen.
myWriter->WriteLine(S"Write only to the console screen.");
// Flush and close the output.
Trace::Flush();
myWriter->Flush();
myWriter->Close();
return 0;
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Diagnostics
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System (System.dll 内)
参照
TextWriterTraceListener メンバ | System.Diagnostics 名前空間 | TraceListener | DefaultTraceListener | EventLogTraceListener | Stream | TextWriter | Debug | Trace