C #에서 (간단한) 추적을 추가하는 방법은 무엇입니까? [닫은]


122

내가 작성중인 C # 애플리케이션에 대한 몇 가지 추적을 소개하고 싶습니다. 슬프게도 나는 그것이 어떻게 작동하는지 정말로 기억할 수 없으며 때때로 참조 자질을 가진 튜토리얼을 확인하고 싶습니다. 다음을 포함해야합니다.

  • TraceListener 등록을 위해 추가 할 App.config / Web.config 항목
  • 호출 애플리케이션에서 설정하는 방법

링크해야 할 uber 튜토리얼을 알고 있습니까?

편집 : Glenn Slaven이 올바른 방향으로 나를 가리 켰습니다. 이것을 App.config / Web.config에 추가하십시오 <configuration/>.

<system.diagnostics>
    <trace autoflush="true">
      <listeners>
        <add type="System.Diagnostics.TextWriterTraceListener" name="TextWriter"
             initializeData="trace.log" />
      </listeners>
    </trace>
</system.diagnostics>

이것은 TextWriterTraceListener당신이 보내는 모든 것을 잡을 것입니다 Trace.WriteLine.

편집 : @DanEsparza은 사용한다고 지적 Trace.TraceInformation, Trace.TraceWarning그리고 Trace.TraceError대신에 Trace.WriteLine그들이 형식 메시지와 같은 방법으로 당신을 허용하는, string.Format.

팁 : 리스너를 추가하지 않은 경우에도 SysInternals 프로그램 DebugView ( Dbgview.exe)를 사용하여 추적 출력을 볼 수 있습니다 . http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx


4
Trace.TraceInformationWriteLine 대신 등을 사용하는 것이 좋습니다 . 이러한 구성원을 사용하면 string.Format.
Dan Esparza 2014 년

답변:



5

위의 모든 블로그 게시물뿐만 아니라 약 5 개의 다른 답변을 따랐지만 여전히 문제가있었습니다. 객체가 문자열로 초기화되어 '이름이 지정된 소스'가 되는 TraceSource.TraceEvent(TraceEventType, Int32, String)메서드를 사용하여 추적하는 기존 코드에 리스너를 추가하려고했습니다 TraceSource. 나에게 문제는이 소스를 대상으로하는 소스 및 스위치 요소의 유효한 조합을 생성하지 않았습니다. 다음은라는 파일에 기록하는 예입니다 tracelog.txt. 다음 코드의 경우 :

TraceSource source = new TraceSource("sourceName");
source.TraceEvent(TraceEventType.Verbose, 1, "Trace message");

다음 진단 구성으로 성공적으로 로그를 관리했습니다.

  <system.diagnostics>
    <sources>
      <source name="sourceName" switchName="switchName">
        <listeners>
          <add
              name="textWriterTraceListener"
              type="System.Diagnostics.TextWriterTraceListener"
              initializeData="tracelog.txt" />
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="switchName" value="Verbose" />
    </switches>
  </system.diagnostics>

코드 조각이 작동하지 않습니다.
usefulBee

@usefulBee에게 사과드립니다. 코드 조각이 아니라 자동으로 코드로 표시되었습니다. 이것은 App.config 또는 Web.config의 일부가 될 구성 코드입니다. 도움이 되었기를 바랍니다.
Shaun

3

DotNetCoders에 대한 시작 기사가 있습니다. http://www.dotnetcoders.com/web/Articles/ShowArticle.aspx?article=50 , 구성 파일에서 스위치를 설정하는 방법과 코드를 작성하는 방법에 대해 설명합니다. 하지만 꽤 오래되었습니다 (2002). CodeProject에 대한 또 다른 기사가 있습니다. http://www.codeproject.com/KB/trace/debugtreatise.aspx 이지만 같은 나이입니다. CodeGuru에는 사용자 지정 TraceListeners에 대한 또 다른 기사가 있습니다. http://www.codeguru.com/columns/vb/article.php/c5611

더 이상 최근 기사가 생각 나지 않습니다. 여기 다른 누군가가


첫 번째 링크는 404로 이동합니다.
Kcoder
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.