워크플로 추적은 .NET Framework 추적 수신기를 사용하여 진단 정보를 캡처하는 방법을 제공합니다. 애플리케이션에서 문제가 발견되면 추적을 사용하도록 설정한 다음 문제가 해결되면 다시 사용하지 않도록 설정할 수 있습니다. 워크플로에 대해 디버그 추적을 사용하도록 설정하는 방법에는 두 가지가 있습니다. 이벤트 추적 뷰어를 사용하여 구성하거나 추적 이벤트를 파일로 보내는 데 사용할 System.Diagnostics 수 있습니다.
ETW에서 디버그 추적 사용
ETW를 사용하여 추적을 사용하도록 설정하려면 이벤트 뷰어에서 디버그 채널을 사용하도록 설정합니다.
이벤트 뷰어에서 분석 및 디버그 로그 노드로 이동합니다.
이벤트 뷰어의 트리 보기에서 이벤트 뷰어->애플리케이션 및 서비스 로그->Microsoft->Windows->Application Server-Applications로 이동합니다. 애플리케이션 서버-애플리케이션을 마우스 오른쪽 단추로 클릭하고 뷰> 표시 분석 및 디버그 로그를 선택합니다. 디버그를 마우스 오른쪽 단추로 클릭하고 로그 사용을 선택합니다.
워크플로가 디버그를 실행하고 추적이 ETW 디버그 채널로 내보내지면 이벤트 뷰어에서 볼 수 있습니다. >. 디버그를 마우스 오른쪽 단추로 클릭하고 새로 고침을 선택합니다.
기본 분석 추적 버퍼 크기는 4KB(KB)에 불과합니다. 크기를 32KB로 늘리는 것이 좋습니다. 이렇게 하려면 다음 단계를 수행합니다.
현재 프레임워크 디렉터리에서 다음 명령을 실행합니다(예: C:\Windows\Microsoft.NET\Framework\v4.0.21203).
wevtutil um Microsoft.Windows.ApplicationServer.Applications.man
<Windows.ApplicationServer.Applications.man 파일의 bufferSize> 값을 32로 변경합니다.
<channel name="Microsoft-Windows-Application Server-Applications/Analytic" chid="ANALYTIC_CHANNEL" symbol="ANALYTIC_CHANNEL" type="Analytic" enabled="false" isolation="Application" message="$(string.MICROSOFT_WINDOWS_APPLICATIONSERVER_APPLICATIONS.channel.ANALYTIC_CHANNEL.message)" > <publishing> <bufferSize>32</bufferSize> </publishing> </channel>
현재 프레임워크 디렉터리에서 다음 명령을 실행합니다(예: C:\Windows\Microsoft.NET\Framework\v4.0.21203).
wevtutil im Microsoft.Windows.ApplicationServer.Applications.man
비고
.NET Framework 4 클라이언트 프로필을 사용하는 경우 먼저 .NET Framework 4 디렉터리에서 다음 명령을 실행하여 ETW 매니페스트를 등록해야 합니다. ServiceModelReg.exe –i –c:etw
System.Diagnostics를 사용하여 디버그 추적 활성화
이러한 수신기는 워크플로 애플리케이션의 App.config 파일이나 워크플로 서비스의 Web.config 파일에서 구성할 수 있습니다. 이 예제에서는 TextWriterTraceListener 추적 정보를 현재 디렉터리의 MyTraceLog.txt 파일에 저장하도록 구성됩니다.
<configuration>
<system.diagnostics>
<sources>
<source name="System.Activities" switchValue="Information">
<listeners>
<add name="textListener" />
<remove name="Default" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="textListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="MyTraceLog.txt"
traceOutputOptions="ProcessId, DateTime" />
</sharedListeners>
<trace autoflush="true" indentsize="4">
<listeners>
<add name="textListener" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
참고하십시오
.NET