ヘッダー
C# サンプル集
 

Debug.WriteLine でテキストファイルに出力する

2021/10/3

→ Visual Basic のサンプルに切り替える

 

 

Debug.WriteLine でテキストファイルにも出力する

下記の例では、テキストファイル(C:\temp\debuglog.txt)にも Debug.WriteLine の内容を追加書きで出力します。

var defaultListener = System.Diagnostics.Trace.Listeners["Default"] as System.Diagnostics.DefaultTraceListener;
defaultListener.LogFileName = @"C:\temp\debuglog.txt";

System.Diagnostics.Debug.WriteLine("この文字はテキストファイルにも出力されます。");
System.Diagnostics.Debug.Indent();
System.Diagnostics.Debug.WriteLine("インデントも可能です。");
System.Diagnostics.Debug.Unindent();

メモ:Visual Studio の既定の設定では Debug.WriteLine は出力ウィンドウに出力されます。 → Debug.WriteLineが表示される場所

メモ:ファイルの先頭の方に using System.Diagnostics; と記述することで、プログラム内の System.Diagnostics. の記述をすべて省略することもできます。

メモ:Debug.WriteLineはデバッグビルドのときのみ実行されます。

 

 

Debug.WriteLine でテキストファイルだけに出力する

下記の例では、コンソールアプリケーションで、Debug.WriteLine の出力先をテキストファイル(C:\temp\debuglog.txt)だけにします。

System.Diagnostics.Trace.Listeners.Clear();
var writer = new System.IO.StreamWriter(@"C:\temp\debuglog.txt");
writer.AutoFlush = true;
System.Diagnostics.Trace.Listeners.Add(new System.Diagnostics.TextWriterTraceListener(writer, true)); //trueで追加書き。falseで上書き。

System.Diagnostics.Debug.WriteLine("この文字はテキストファイルだけに出力されます。");
System.Diagnostics.Debug.Indent();
System.Diagnostics.Debug.WriteLine("インデントも可能です。");
System.Diagnostics.Debug.Unindent();

メモ:デバッグ中はテキストファイルがロックされてしまうので使いにくいかもしれません。上述のテキストファイル「にも」出力する例の方がお勧めです。

メモ:Visual Studio の既定の設定では Debug.WriteLine は出力ウィンドウに出力されます。 → Debug.WriteLineが表示される場所

メモ:ファイルの先頭の方に using System.Diagnostics; と記述することで、プログラム内の System.Diagnostics. の記述をすべて省略することもできます。

メモ:Debug.WriteLineはデバッグビルドのときのみ実行されます。