設定 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\<UserName>\AppData\Roaming\Microsoft\UnifiedServiceDesk\<Version> 目錄中建立檔案,稱為 UnifiedServiceDesk.log,而且 USDDebugListener 會在偵錯工具託管控制項的 MSDN:偵錯輸出索引標籤上建立事件。
如果您想要變更 UnifiedServiceDesk.log 檔案的位置,請變更 Location 參數的值。
根據預設,新的 Unified Service Desk 記錄會在目前記錄檔的檔案大小超過 52.42 MB 之後建立。 根據預設,一次最多可保留的 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 |
詳細的 User Interface Integration (UII) 記錄來源,用來監視 UII 內的訊息流量。 |
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 介面連結的 Web 資源資料要求的記錄來源。 |
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-<date>.log 位於用戶端電腦的下列位置 c:\Users\<UserName>\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 的健全狀況,並依預設在 5 秒之後終止任何無回應且造成 Unified Service Desk 無回應的任何瀏覽器程序執行個體。 如果瀏覽器程序執行個體沒有回應,但 Unified Service Desk 有回應,則瀏覽器程序執行個體不會被終止。 如需如何變更瀏覽器程序終止的 ProcessTerminationThreshold 全域選項期間的詳細資訊,請參閱管理整合服務台的選項。
錯誤診斷報告
擁有元件、應用程式或系統故障期間的詳細且全面記錄和報告,有助於找出故障發生的時間和原因。 除了標準診斷記錄之外,錯誤診斷報告會記錄系統和應用程式狀態資訊,在 Unified Service Desk 用戶端發生例外狀況時。 例外狀況的詳細資訊可以在 Unified Service Desk 如何處理應用程式和系統錯誤中找到。
注意
此處所述的錯誤診斷報告功能最早是在 Unified Service Desk 2.2.2 中引進。
例外狀況期間建立的資料夾和檔案
發生例外狀況時,錯誤診斷報告會在本機電腦上建立資料夾,名為 DiagnosticsLogs_date and time,其中 date and time 格式為 year-month-date_time,例如 DiagnosticLogs_20170322_173643。 在 DiagnosticsLogs 資料夾中會建立下列資料夾及檔案。
診斷檔案 |
描述 |
---|---|
UnifiedServiceDesk_dateandtime.log |
標準診斷記錄,在 Unified Service Desk 用戶端執行時建立及附加。 此檔案包含 Unified Service Desk 用戶端 (UnifiedServiceDesk.exe) 的記錄資訊。 目前檔案會在發生例外狀況時移至 DiagnosticsLogs 資料夾中。其他資訊:Configure client diagnostic logging in Unified Service Desk |
UnifiedServiceDeskMonitoring_date.log |
標準診斷記錄,在 Unified Service Desk 用戶端執行時建立及附加。 包含 Unified Service Desk 監控程序 (usdmp.exe) 的記錄資訊,此程序會監控 Unified Service Desk 用戶端的健全狀況。 目前檔案會在發生例外狀況時移至 DiagnosticsLogs 資料夾中。其他資訊:Unified Service Desk 監控程序 |
Eventlogs (資料夾) |
發生嚴重或非嚴重例外狀況時建立的資料夾。 包含 Windows 系統和應用程式事件記錄及錯誤報告文字檔。 |
ExitReport.txt |
發生嚴重或非嚴重例外狀況時建立的結束記錄。 包含程序狀態資訊,例如電腦名稱、Unified Service Desk 版本、程序識別碼、結束碼及結束時間。 |
MachineHealthReport.txt |
發生嚴重或非嚴重例外狀況時建立的結束記錄。 包含系統狀態資訊,例如電腦處理器、作業系統、監視器詳細資料、語言和瀏覽器版本。 |
ProcessReport.csv |
發生嚴重或非嚴重例外狀況時建立的結束記錄。 提供一份完整的清單,包含例外狀況發生時在系統上執行的所有程序。 |
RegistryLog.txt |
發生嚴重或非嚴重例外狀況時建立的結束記錄。 包含 Internet Explorer 的 Windows 登入機碼子機碼的文字複本。 |
UnifiedServiceDesk_processId_CrashDump_dateandtime.dmp |
僅在發生無法處理的嚴重例外狀況,或使用 ManualDumpShortcut 全域選項鍵盤組合手動叫用時建立。 提供 UnifiedServiceDesk.exe 的完整記憶體傾印檔案。 請注意,若要檢視傾印檔案,您需要 Microsoft Visual Studio 或其他 Windows 傾印檔案檢視工具。 |
設定錯誤診斷報告
在 Web 應用程式中,移至 [設定] > [Unified Service Desk] > [選項]。
按一下 [新增],然後選取 [DiagnosticsConfiguration]。
輸入下表中列出的一個或多個值,並以分號 (;) 分隔。其他資訊:錯誤診斷報告選項值
例如,此設定會變更記錄檔目錄,將診斷記錄資料夾的大小上限降低為 2 GB,以及將用來叫用隨選當機傾印的快速鍵組合變更為 CRTL+ALT+D。
按一下 [儲存後關閉]。
錯誤診斷報告選項值
錯誤診斷報告設定是使用 DiagnosticsConfiguration 全域選項設定。 此處描述可用的 DiagnosticsConfiguration 值。
值名稱 |
值類型 |
描述 |
---|---|---|
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\<version>\Diagnostics\。 |
MaxDiagnosticLogsSize |
整數 |
指定保存診斷檔案的資料夾大小上限,單位 MB。 預設大小為 5 GB (5000 MB)。 超過 MaxDiagnosticLogsSize 時,最舊的記錄資料夾將被刪除,直到不再超過 MaxDiagnosticLogsSize。 請注意,最近的記錄資料夾不會被刪除,即使超過 MaxDiagnosticLogsSize。 |
ManualDumpShortcut |
字串 |
指定快速鍵,用來叫用手動建立傾印檔案。 預設按鍵組合是 CTRL+ALT+a。 若要變更預設值,請使用此格式 key1+key2+key3。 |
另請參閱
設定 Unified Service Desk 的稽核和診斷
Unified Service Desk 疑難排解
MSDN:偵錯 Unified Service Desk 的問題
Unified Service Desk 2.0
© 2016 Microsoft. 著作權所有,並保留一切權利。 著作權