Unified Service Desk에서 클라이언트 진단 로깅 구성
게시 날짜: 2016년 11월
적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2013, Dynamics CRM 2015, Dynamics CRM 2016
Unified Service Desk 클라이언트 진단 로깅을 구성하는 방법은 두 가지가 있습니다.
Microsoft Dynamics 365의 Unified Service Desk 영역에서 만들고 관리되는 감사 및 진단 설정 레코드를 사용.
UnifiedServiceDesk.exe.config 파일을 수동으로 변경. 이 파일은 Unified Service Desk 클라이언트 진단 로깅을 원하는 모든 데스크톱에 배포해야 합니다.
또한 Unified Service Desk 클라이언트에서 발생할 수 있는 예외에 대한 진단 로깅을 구성할 수 있습니다.
이 항목의 내용
Unified Service Desk 클라이언트 진단 로깅 구성
진단 로그 소스
진단 로깅 수준
진단 로그 수신기
진단 로그 파일 보기
Unified Service Desk 모니터링 프로세스
오류 진단 보고
Unified Service Desk 클라이언트 진단 로깅 구성
이 섹션에서는 Unified Service Desk에서 진단 로깅을 수동으로 구성하는 방법을 설명합니다. 여기에서 설명하는 절차를 사용하는 대신 중앙 집중식 진단 관리와 사용자 지정 수신기에 연결하는 기능을 제공하는 감사 및 진단 설정 기능을 사용하는 것이 좋습니다.추가 정보:Unified Service Desk에서 감사 및 진단 구성
중요
-
수동으로 구성된 진단(여기에서 설명)은 진단을 위해 구성된 감사 및 진단 설정 레코드를 활성화한 후에는 더 이상 작동하지 않습니다.
-
Unified Service Desk는 또한 사용자 지정 호스팅된 컨트롤에 대한 풍부한 진단 로깅을 구성하는 데 사용할 수 있는 API를 제공합니다. 자세한 정보: MSDN: 사용자 지정 호스팅된 컨트롤에 대한 향상된 진단 로깅 구성
이 항목에서는 클라이언트 로깅 특성을 변경하는 방법을 설명합니다.
UnifiedServiceDesk.exe.config 파일을 사용하여 로깅을 활성화할 수 있으며 사용자 컴퓨터의 Unified Service Desk 클라이언트 설치 디렉터리에서 사용할 수 있습니다.Unified Service Desk 로그 파일의 로깅 유형과 위치를 구성하려면:
편집을 위해 UnifiedServiceDesk.exe.config 파일을 엽니다. 기본 위치에 Unified Service Desk 클라이언트를 설치한 경우 이 파일의 위치는 일반적으로 C:\Program Files\Microsoft Dynamics 365 USD\USD입니다.
파일에서 <switches> 섹션으로 이동합니다.
<switches> <!-- Possible values for switches: Off, Error, Warning, Information, Verbose Verbose: includes Error, Warning, Info, Trace levels Information: includes Error, Warning, Info levels Warning: includes Error, Warning levels Error: includes Error level --> <add name="EventTopicSwitch" value="Error"/> <add name="Microsoft.Uii.Common.Logging" value="Error"/> <add name="Microsoft.Xrm.Tooling.CrmConnectControl" value="Error"/> <add name="Microsoft.Xrm.Tooling.Connector.CrmServiceClient" value="Error"/> <add name="Microsoft.Xrm.Tooling.WebResourceUtility" value="Error"/> <add name="Microsoft.Crm.UnifiedServiceDesk" value="Error"/> <add name="Microsoft.Crm.UnifiedServiceDesk.Dynamics" value="Error"/> <add name="Microsoft.Crm.UnifiedServiceDesk.CommonUtility.UserProfileManager" value="Error"/> <add name="UnifiedServiceDesk.KPIControl" value="Error"/> </switches>
<switches> 섹션에서 로깅 소스(예: EventTopicSwitch)를 지정한 다음 로깅 수준 값(예: Error)을 지정합니다.<switches> 섹션은 다양한 소스의 로깅 수준을 제어합니다. 기본적으로 오류 로그는 모든 스위치에 사용됩니다.
사용 가능한 로깅 소스에 대한 자세한 내용은 이 항목 뒷부분의 진단 로그 소스를 참조하십시오.
각 로깅 소스에 대해 지정할 수 있는 값에 대한 자세한 내용은 이 항목 뒷부분의 진단 로깅 수준를 참조하십시오.
로그 파일의 위치, 최대 파일 크기 및 롤오버 동작을 구성하려면 파일의 <shareListeners> 섹션으로 이동합니다.
<sharedListeners> <add name="fileListener" type="Microsoft.Xrm.Tooling.Connector.DynamicsFileLogTraceListener, Microsoft.Xrm.Tooling.Connector" BaseFileName="UnifiedServiceDesk" Location="LocalUserApplicationDirectory" MaxFileSize ="52428800" MaxFileCount="10"/> <add name="USDDebugListener" type="Microsoft.Crm.UnifiedServiceDesk.Dynamics.UsdTraceListener, Microsoft.Crm.UnifiedServiceDesk.Dynamics" /> <add name="ADALListener" type="Microsoft.Xrm.Tooling.Connector.DynamicsFileLogTraceListener, Microsoft.Xrm.Tooling.Connector" BaseFileName="ADAL" Location="LocalUserApplicationDirectory" MaxFileSize ="52428800" MaxFileCount="10"/> </sharedListeners>
<sharelisteners> 섹션은 Unified Service Desk에 대해 생성되는 로그의 위치와 유형을 제어합니다. 기본적으로 fileListener는 c:\Users\<사용자이름>\AppData\Roaming\Microsoft\UnifiedServiceDesk\<버전> 디렉터리에 UnifiedServiceDesk.log라는 파일을 만들고 USDDebugListener는 디버거 호스팅된 컨트롤의 MSDN: Debug 출력 탭에 이벤트를 만듭니다.
UnifiedServiceDesk.log 파일의 위치를 변경하려는 경우 Location 매개 변수의 값을 변경합니다.
기본적으로 새 Unified Service Desk 로그는 현재 로그 파일의 크기가 52.42MB를 초과하면 만들어집니다. 기본적으로 가장 오래된 로그 파일을 삭제하기 전에 최대 10개의 로그 파일이 한 번에 유지됩니다.
최대 Unified Service Desk 로그 파일 크기를 변경하려면 MaxFileSize 매개 변수의 값을 바이트 단위로 변경합니다.
가장 오래된 로그가 삭제되기 전에 유지되는 로그 수를 변경하려면 MaxFileCount의 값을 변경합니다. 0을 사용하는 경우 롤오버 로깅이 비활성화되고 모든 Unified Service Desk 클라이언트 로그가 저장됩니다.
기본적으로 파일과 디버거 로깅은 모든 소스에 사용됩니다. 진단 소스에서 수신기를 추가하거나 제거하려면 <sources> 섹션에서 필요한 소스를 찾은 다음 소스의 <listeners> 섹션을 수정하여 원하는 수신기를 포함합니다.
예를 들어, Unified Service Desk에 대한 이벤트 로깅을 추가하려면 이벤트 로깅 수신기를 Microsoft.Crm.UnifiedServiceDesk 소스에 추가합니다.
<source name="Microsoft.Crm.UnifiedServiceDesk" switchName="Microsoft.Crm.UnifiedServiceDesk" switchType="System.Diagnostics.SourceSwitch"> <listeners> <add name="fileListener"/> <add name="USDDebugListener" /> <add name="eventLogListener" type="System.Diagnostics.EventLogTraceListener" initializeData="USD"/> </listeners> </source>
그러면 이제 파일과 디버거 외에 태그가 “USD”인 Windows 이벤트 로그에 이벤트를 보고합니다. 진단 수신기에 대한 자세한 내용은 이 항목 뒷부분의 진단 로그 수신기를 참조하십시오.
진단 로그 소스
일반적인 문제 해결 로그 소스는 다음 표에 나열됩니다.
원본 이름 |
설명 |
---|---|
EventTopicSwitch |
UII 내의 메시징 트래픽을 모니터링하기 위한 자세한 UII(User Interface Integration) 로깅 소스입니다. |
Microsoft.Uii.Common.Logging |
UII에서 보고한 메시지에 대한 일반 UII 로그 소스입니다. |
Microsoft.Xrm.Tooling.CrmConnectControl |
Dynamics 365에 대한 로그인 프로세스의 로그 소스입니다. 이 소스는 로그인 절차에 대한 일반 또는 자세한 진단 정보를 보고합니다. |
Microsoft.Xrm.Tooling.Connector.CrmServiceClient |
모든 Dynamics 365 데이터 수준 상호 작용에 대한 로그 소스입니다. 이 소스는 Dynamics 365, 예외 및 타이밍을 사용하여 모든 상호 작용을 보고합니다. |
Microsoft.Xrm.Tooling.WebResourceUtility |
Dynamics 365 인터페이스 링크를 통해 웹 리소스 데이터에 대한 요청의 로그 소스입니다. |
Microsoft.Crm.UnifiedServiceDesk |
핵심 Unified Service Desk 기능을 위한 로그 소스입니다. 이 로그 소스는 Unified Service Desk에 핵심인 작업과 이벤트를 보고합니다. |
Microsoft.Crm.UnifiedServiceDesk.Dynamics |
Unified Service Desk 부트 스트랩과 로딩 프로세서에 대한 로그 소스입니다. 이 소스는 UII 및 Unified Service Desk를 초기화하고 시작하는 부분인 작업과 이벤트를 보고합니다. |
Microsoft.Crm.UnifiedServiceDesk.CommonUtility.UserProfileManager |
UserProfile 시스템과 상호 작용하는 작업에 대한 로그 소스입니다. 캐싱 시스템의 일부입니다.추가 정보:Unified Service Desk에서 클라이언트 캐싱 구성 |
Unified Service Desk 내에서 문제 또는 정보의 문제 해결과 격리를 지원하기 위해 독립적으로 이러한 로그 소스를 각각 전환할 수 있습니다.
진단 로깅 수준
사용할 수 있는 로깅 수준은 여러 가지가 있습니다. 그러나 로깅 수준을 늘리면, 더 많은 데이터가 생성되고 로그 파일에 저장됩니다.
로그 수준 |
설명 |
---|---|
해제 |
이 소스의 모든 이벤트가 비활성화됩니다. |
오류 |
오류 이벤트만 보고합니다. |
경고 |
오류 및 경고 이벤트를 보고합니다. |
정보 |
오류, 경고 및 정보 이벤트를 보고합니다. |
자세한 정보 표시 |
오류, 경고, 정보 및 자세한 이벤트를 보고합니다. |
ActivityTracing |
오류, 경고, 정보 및 자세한 이벤트, 활동 추적(메서드 이름)을 보고합니다. 참고 ActivityTracing은 일부 소스에서만 사용할 수 있습니다. |
모두 |
시스템에서 발생한 모든 이벤트를 보고합니다. |
진단 로그 수신기
진단 로그 수신기는 진단 로그 출력을 파일, 이벤트 로그 또는 기타 소스로 보내는 데 사용 됩니다. 기본적으로 모든 진단 소스는 기본(디버거) 및 파일(텍스트) 수신기 모두에 연결됩니다.Unified Service Desk의 진단 로깅에 대해 추가 로그 수신기를 구성할 수 있습니다. .NET 기본 수신기에 대한 자세한 내용은 다음을 참조하십시오.
사용자 지정 수신기를 만들어 진단 로그를 원하는 위치로 보낼 수도 있습니다. 사용자 지정 수신기는 TraceListener 추상 클래스에서 클래스를 파생시켜 만듭니다.CodeGuru.com에서 연습 프로세스를 찾을 수 있습니다.
진단 로그 파일 보기
기본적으로 진단 로그는 Unified Service Desk 클라이언트 응용 프로그램에 사용됩니다. 로그 파일 UnifiedServiceDesk-<날짜>.log는 클라이언트 응용 프로그램의 운영 오류를 기록하기 위해 c:\Users\<사용자이름>\AppData\Roaming\Microsoft\Microsoft Dynamics 365 Unified Service Desk\*<버전>*에 위치합니다. 로그 파일은 클라이언트 응용 프로그램에서 오류가 처음 발생할 때 만들어집니다.
호스팅된 컨트롤에서 오류가 발생하는 경우 로그 파일에 기록된 정보는 예외 정보와 함께 예외를 발생시킨 원래 호스팅된 컨트롤 등의 예외에 대한 자세한 정보를 제공합니다. 예외를 발생시킨 전체 JavaScript 코드가 기록되지 않았는지 확인합니다. 잘못된 코드만이 예외에 대한 설명과 함께 기록됩니다.
참고
여기서 설명하는 오류 처리 및 로깅 기능은 Unified Service Desk 2.2.1에 처음 도입되었습니다.
기록된 샘플 예외 세부 정보는 다음과 같습니다.
Microsoft.Crm.UnifiedServiceDesk.Dynamics Error 2 12/27/2016 11:54:15 AM Origin:AppdomianUnhandledException, IsFatal:True Source: DemoControl Target: Void throwExceptionMethod() Exception: Exception in custom control StackTrace: at DemoControl.USDControl.throwExceptionMethod() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart()
Unified Service Desk 모니터링 프로세스
Unified Service Desk 모니터링 프로세스(usdmp.exe)는 지속적으로 Unified Service Desk의 상태를 모니터링하는 서비스이며, 기본적으로 응답하지 않아 Unified Service Desk를 무응답 상태로 만드는 모든 브라우저 프로세스 인스턴스를 5초 후에 종료합니다. 브라우저 프로세스 인스턴스가 응답하지 않지만 Unified Service Desk이 응답하는 경우 브라우저 프로세스 인스턴스는 종료되지 않습니다. 브라우저 프로세스 종료에 대한 처리 종료 임계값 전역 옵션의 지속 시간을 변경하는 방법에 대한 자세한 내용은 Unified Service Desk 옵션 관리을 참조하십시오.
오류 진단 보고
구성 요소, 응용 프로그램 또는 시스템 오류 중에 발생하는 상세하고 종합적인 로깅 및 보고를 통해 오류가 발생한 시기와 원인을 파악할 수 있습니다. 표준 진단 로깅 외에도 오류 진단 보고는 Unified Service Desk 클라이언트에서 예외가 발생할 때 시스템 및 응용 프로그램 상태 정보를 기록 합니다. 예외에 대한 자세한 내용은 Unified Service Desk가 응용 프로그램 및 시스템 오류를 처리하는 방법에서 찾을 수 있습니다.
참고
여기서 설명하는 오류 진단 보고 기능은 Unified Service Desk 2.2.2에 처음 도입되었습니다.
예외 중에 만들어진 폴더 및 파일
예외가 발생하는 경우 오류 진단 보고는 DiagnosticsLogs_날짜 및 시간이라는 이름의 폴더를 로컬 컴퓨터에 만듭니다. 여기서 날짜 및 시간은 DiagnosticLogs_20170322_173643과 같이 년-월-일_시간 형식으로 나타납니다. DiagnosticsLogs 폴더 내에서 다음 폴더와 파일이 생성됩니다.
진단 파일 |
설명 |
---|---|
UnifiedServiceDesk_날짜및시간.log |
Unified Service Desk 클라이언트가 실행 중일 때 생성되고 추가된 표준 진단 로그입니다. 파일에는 Unified Service Desk 클라이언트(UnifiedServiceDesk.exe)의 로깅 정보가 들어 있습니다. 현재 파일은 예외의 경우에 DiagnosticsLogs 폴더로 이동됩니다.추가 정보:Configure client diagnostic logging in Unified Service Desk |
UnifiedServiceDeskMonitoring_날짜.log |
Unified Service Desk 클라이언트가 실행 중일 때 생성되고 추가된 표준 진단 로그입니다.Unified Service Desk 클라이언트의 상태를 모니터링하는 프로세스인 Unified Service Desk 모니터링 프로세스(usdmp.exe)에 대한 로깅 정보를 포함합니다. 현재 파일은 예외의 경우에 DiagnosticsLogs 폴더로 이동됩니다.추가 정보:Unified Service Desk 모니터링 프로세스 |
Eventlogs(폴더) |
치명적이거나 치명적이지 않는 예외가 발생한 경우에 만들어진 폴더입니다. Windows 시스템 및 응용 프로그램 이벤트 로그 및 오류 보고 텍스트 파일을 포함합니다. |
ExitReport.txt |
치명적이거나 치명적이지 않는 예외가 발생한 경우에 만들어진 종료 로그입니다. 컴퓨터 이름, Unified Service Desk 버전, 프로세스 ID, 종료 코드 및 종료 시간 등의 프로세스 상태 정보가 포함됩니다. |
MachineHealthReport.txt |
치명적이거나 치명적이지 않는 예외가 발생한 경우에 만들어진 종료 로그입니다. 컴퓨터 프로세서, 운영 체제, 모니터 세부 정보, 언어 및 브라우저 버전과 같은 시스템 상태 정보가 들어 있습니다. |
ProcessReport.csv |
치명적이거나 치명적이지 않는 예외가 발생한 경우에 만들어진 종료 로그입니다. 예외 시 시스템에서 실행되고 있던 모든 프로세스의 포괄적인 목록을 제공합니다. |
RegistryLog.txt |
치명적이거나 치명적이지 않는 예외가 발생한 경우에 만들어진 종료 로그입니다.Internet Explorer에 대한 Windows 레지스트리 하위 키의 텍스트 기반 복사본을 포함합니다. |
UnifiedServiceDesk_processId_CrashDump_날짜및시간.dmp |
ManualDumpShortcut 전역 옵션 키보드 조합을 사용하여 처리되지 않은 치명적인 예외의 경우에만 만들어지거나 수동으로 호출됩니다. UnifiedServiceDesk.exe에 대한 전체 메모리 덤프 파일을 제공합니다. 덤프 파일을 보려면 Microsoft Visual Studio 또는 다른 Windows 덤프 파일 보기 도구가 필요 합니다. |
오류 진단 보고 구성
웹 응용 프로그램에서 설정 > Unified Service Desk > 옵션으로 이동합니다.
새로 만들기를 선택하고 진단 구성을 클릭합니다.
다음 표에 나열된 하나 이상의 값을 세미콜론(;)으로 구분하여 입력합니다.추가 정보:오류 진단 보고 옵션 값
예를 들어 이 구성은 로그 파일 디렉터리를 변경하고 최대 진단 로그 폴더 크기를 2GB로 줄이고, 바로 가기 키 조합을 변경하여 요청 시 크래시 덤프를 Ctrl+Alt+D로 호출합니다.
저장 후 닫기를 클릭합니다.
오류 진단 보고 옵션 값
오류 진단 보고 설정은 진단 구성 전역 옵션을 사용하여 구성됩니다. 사용 가능한 진단 구성 값은 다음과 같습니다.
값 이름 |
값 유형 |
설명 |
---|---|---|
EnableExitMonitoring |
true/false |
기본값은 true이고 예외 이벤트에서 진단 로그와 종료 로그가 모두 수집됩니다. false로 설정하면 Unified Service Desk 클라이언트를 제외하고 진단 로그와 종료 로그가 모두 수집되지 않습니다. |
EnableCrashMonitoring |
true/false |
기본값은 true이며 Unified Service Desk 클라이언트의 치명적인 예외 중에 덤프 파일이 수집됩니다. false로 설정하면 Unified Service Desk 클라이언트 예외 중에 덤프 파일이 수집되지 않습니다. EnableCrashMonitoring이 false로 설정되어 있고EnableExitMonitoring이 true로 설정된 경우 진단 로그와 종료 로그가 모두 수집되지만 덤프 파일은 수집되지 않습니다. |
LogsDirectory |
문자열 |
예외에 대한 진단 파일이 보관되는 폴더의 전체 경로를 지정합니다. 경로가 잘못되었거나 액세스할 수 없는 경우에는 Unified Service Desk가 기본 폴더를 사용합니다. 기본적으로 폴더는 %APPDATA%\Roaming\Microsoft\Microsoft Dynamics® 365 Unified Service Desk\<버전>\Diagnostics\입니다. |
MaxDiagnosticLogsSize |
정수 |
진단 파일을 보관할 폴더의 최대 크기를 메가바이트 단위로 지정합니다. 기본 크기는 5GB(5000MB)입니다. MaxDiagnosticLogsSize의 크기가 초과되면 MaxDiagnosticLogsSize 크기가 더 이상 초과되지 않을 때까지 가장 오래된 로그 폴더들이 삭제됩니다. 가장 최근의 로그 폴더는 MaxDiagnosticLogsSize 크기가 초과되어도 삭제되지 않습니다. |
ManualDumpShortcut |
문자열 |
덤프 파일의 수동 생성을 호출하는 데 사용할 바로 가기 키를 지정합니다. 기본 키 조합은 Ctrl+Alt+A입니다. 기본값을 변경하려면 키1+키2+키3 형식을 사용합니다. |
참고 항목
Unified Service Desk에서 감사 및 진단 구성
Unified Service Desk 문제 해결
MSDN: Unified Service Desk의 디버그 문제
Unified Service Desk 2.0
© 2016 Microsoft. 모든 권리 보유. 저작권 정보