2016-06-17 5 views
0

C# 프로젝트에 콘솔에 메시지를 쓰는 "작업"과 함께 조건부 중단 점을 추가했습니다. 기본적으로 "작업"을 선택하면 "출력 창에 메시지 로깅"(VS 2015) 옵션 만 제공됩니다.추적 파일을 텍스트 파일에 로깅

해당 메시지를 텍스트 파일에 기록하려면 어떻게해야합니까? 나는 트레이스 리스너에 관해서 읽었지만 트레이스 포인트에 연결하는 방법을 알아낼 수 없다.

+0

어떻게 메시지를 기록합니까? 'Trace.WriteLine()'또는'Debug.WriteLine()'? –

+0

나는 그것을 기록하지 않고 출력에 자동으로 기록된다. 단지 "Action"args에 메시지를 명시한다. – 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 

위의 코드는 모두 해제 작동 및 디버그 빌드.