워크플로 추적
워크플로 추적을 사용하면 .NET Framework 추적 수신기를 통해 진단 정보를 캡처할 수 있습니다. 추적은 애플리케이션에서 문제가 발견되면 사용하도록 설정했다가 문제가 해결되면 다시 사용하지 않도록 설정할 수 있습니다. 워크플로에 대한 디버그 추적을 두 가지 방법으로 활성화할 수 있습니다. 이벤트 추적 뷰어를 사용하여 구성하거나 System.Diagnostics를 사용하여 추적 이벤트를 파일로 보낼 수 있습니다.
ETW에서 디버그 추적 사용
ETW를 사용하여 추적을 활성화하려면 이벤트 뷰어에서 디버그 채널을 사용하도록 설정합니다.
이벤트 뷰어에서 분석 및 디버그 로그 노드로 이동합니다.
이벤트 뷰어의 트리 뷰에서 이벤트 뷰어->애플리케이션 및 서비스 로그->Microsoft->Windows->애플리케이션 서버-애플리케이션으로 이동합니다. 애플리케이션 서버-애플리케이션을 마우스 오른쪽 단추로 클릭하고 보기->분석 및 디버그 로그 표시를 선택합니다. 디버그를 마우스 오른쪽 단추로 클릭하고 로그 사용을 선택합니다.
워크플로에서 디버그를 실행하고 추적을 ETW 디버그 채널로 내보낸 후 이벤트 뷰어에서 추적 내용을 볼 수 있습니다. 이벤트 뷰어->애플리케이션 및 서비스 로그->Microsoft->Windows->애플리케이션 서버-애플리케이션으로 이동합니다. 디버그를 마우스 오른쪽 단추로 클릭하고 새로 고침을 선택합니다.
기본 분석 추적 버퍼 크기는 겨우 4KB이므로 이 크기를 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 Client Profile을 사용하는 경우 먼저 .NET Framework 4 디렉터리: ServiceModelReg.exe –i –c:etw
에서 다음 명령을 실행하여 ETW 매니페스트를 등록해야 합니다.
System.Diagnostics를 사용하여 디버그 추적 활성화
이러한 수신기는 워크플로 애플리케이션의 App.config 파일 또는 워크플로 서비스의 Web.config에서 구성할 수 있습니다. 이 예제에서는 추적 정보를 현재 디렉터리의 MyTraceLog.txt 파일에 저장하도록 TextWriterTraceListener를 구성합니다.
<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