2016-06-17 3 views
0

C#プロジェクトに条件付きブレークポイントを加え、コンソールにメッセージを書き込む「アクション」を追加しました。基本的に、「アクション」をチェックすると、「出力ウィンドウにメッセージを記録する」オプション(VS 2015)のみが提供されます。トレースファイルをテキストファイルに記録する

このメッセージをテキストファイルにも記録したい場合はどうすればいいですか?私はトレースリスナーについて読んできましたが、トレースポイントにフックする方法を理解することはできません。

+0

どのようにメッセージを記録しますか? 'Trace.WriteLine()'または 'Debug.WriteLine()'で? –

+0

私はそれをログに記録せず、自動的に出力に記録されます。私は単に "アクション"引数でメッセージを指定します。 – anemaria20

答えて

0

トレースポイントは、デバッグ中のみ使用できます。トレースポイントは、Visual Studio IDEデバッガによって追跡されるためです。私は実際にトレースをログファイルに書き出すためにリスナーを設定しようとしましたが、この機能はトレースポイントではサポートされていないようです。しかし、それはTrace classのために働く。

デバッグ中に出力ウィンドウがついているようです。デバッグ中は、出力ウィンドウの内容をコピーしてファイルに貼り付けることができます。リリースコードに使用する予定だった場合は、カスタムログまたはTrace classを使用する必要があります。

デフォルトでは、トレースクラスは出力ウィンドウに書き込みます。ただし、デフォルトのリスナーを変更して、Trace.WriteLineステートメントもログファイルに記録することができます。たとえば:

using System.Diagnostics; 

// Set up the log file to be the folder where the program is run from, with the name Trace.log. 
DefaultTraceListener DefListener = (DefaultTraceListener)Trace.Listeners[0]; 
DefListener.LogFileName = AppDomain.CurrentDomain.BaseDirectory + "Trace.log"; 
// Write out the value of Count within the loop to the log file. 
for (int Loop = 0; Loop < 5; Loop++) 
{ 
    Count++; 
    Trace.WriteLine($"Count = {Count}"); 
} 
DefListener.Flush(); 

は、ログファイルの内容は、含まれています:

Count = 1 
Count = 2 
Count = 3 
Count = 4 
Count = 5 

上記のコードは、両方のリリースのために働くとデバッグビルド。

関連する問題