2014-10-12 4 views
1

EventProviderTraceListener를 사용하여 기록 된 이벤트를 실시간으로 볼 수있는 방법을 찾고 있습니다. & logman을 사용하여 추적 세션을 중지 한 다음 결과 .etl 파일을 디코딩 할 수 있지만 도착한대로 이벤트를보고 싶습니다. 여기 traceview에서 EventProviderTraceListener의 이벤트 실시간 표시

내가 테스트를 위해 사용하고있는 샘플 C# 클래스입니다 : traceview를 사용

public class TraceTest 
{ 
    private static Guid ProviderGuid = new Guid("{2EC22694-F8D3-4066-B089-300DF0749C71}"); 
    private static EventProviderTraceListener listener = new EventProviderTraceListener(ProviderGuid.ToString(), Test Listener", "::"); 
    private static TraceSource source = new TraceSource("TestSource", SourceLevels.All); 

    public TraceTest() 
    { 
     source.Listeners.Add(listener); 

     source.TraceInformation("Tracing prototype."); 
    } 
} 

, 나는 GUID를 inputing에 의해 새 추적 세션을 시작할 수 있어요,하지만 난 어디에서 찾을 지 모른다 메시지를 디코딩 할 수 있도록 tmf 파일 - 도착한 것을 볼 수 있지만 "형식 정보 없음"으로 기록됩니다.

+0

대신 다음을 시도하십시오. https://www.nuget.org/packages/Microsoft.Diagnostics.Tracing.TraceEvent – magicandre1981

답변

1

직접 ETW에 기록하지 않기 때문에 당신은 TraceListener 자신을 쓸 수와의 app.config를 (here 참조)이 EventProviderTraceListener를 추가 같은 추가 (here 참조) 또는 사용합니다. 또는 ETWTraceEventSourcehere 인 logman 및 traceview와 같은 ETW를 사용하여 수행 할 수 있지만 추적을 시작하려면 관리자 권한이 필요합니다.

+0

추적을 시작하고 중지하려면 관리자 권한이 필요합니다. ETWTraceEventSource를 살펴 보겠다.하지만 기존의 솔루션 (트레이스 뷰에서 작동하도록 만드는 것과 같은)이나 Microsoft에서 제공하는 도구가 필요했다. – bialpio

+0

추적 뷰를 만들 수 없기 때문에 추적을위한 간단한 독자를 작성했습니다. – bialpio