如何設定用戶端診斷記錄

設定 Unified Service Desk 用戶端診斷記錄的方式有兩種:

  • 使用 Microsoft Dataverse 的 Unified Service Desk 區域中所建立和管理的稽核與診斷設定記錄。

  • 手動變更 UnifiedServiceDesk.exe.config 檔案。 然後必須將此檔案發佈至想要執行 Unified Service Desk 用戶端診斷記錄的每個桌上型電腦。

    此外,您可以設定可能在 Unified Service Desk 用戶端中發生的例外狀況特定的診斷記錄。

設定 Unified Service Desk 用戶端診斷記錄

本節說明如何在 Unified Service Desk 中手動設定診斷記錄。 我們建議您使用稽核與診斷設定功能,它提供診斷集中管理以及能夠連接自訂接聽程式,而不使用此處所述的程序。 其他資訊:設定 Unified Service Desk 的稽核和診斷

重要

  • 針對診斷設定,啟用稽核與診斷設定記錄之後,手動設定診斷 (如此處所述) 就無法再正常運作。
  • Unified Service Desk 也提供 API,可讓您設定豐富的自訂託管控制項診斷記錄。 其他資訊:為自訂託管控制項設定增強的診斷記錄

本主題說明如何變更用戶端記錄特性。

您可以使用 UnifiedServiceDesk.exe.config 檔案來啟用記錄功能,這個檔案位於您的電腦上的 Unified Service Desk 用戶端安裝目錄。 若要設定 Unified Service Desk 記錄檔的記錄類型和位置:

  1. 開啟 UnifiedServiceDesk.exe.config 檔案進行編輯。 如果您在預設位置安裝 Unified Service Desk 用戶端,這個檔案通常是位於 C:\Program Files\Microsoft Dynamics 365 Customer Engagement USD\USD。

  2. 移至檔案中的 <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>  
    
    
  3. <switches> 區段中,指定記錄來源 (例如,EventTopicSwitch),然後指定記錄層級值 (例如 Error)。 <switches> 區段控制各種不同來源的記錄級別。 根據預設,會啟用所有切換的錯誤記錄:

    • 如需可用記錄來源的詳細資訊,請參閱本主題稍後的可用記錄來源

    • 如需您可以為每個記錄來源指定之值的相關資訊,請參閱本主題稍後的記錄層級

  4. 若要設定記錄檔的位置、檔案大小上限及變換行為,請前往檔案中的 <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\Microsoft\Microsoft Dynamics 365 Unified Service Desk\<Version> 目錄中建立檔案 UnifiedServiceDesk.log,而且 USDDebugListener 會在偵錯工具託管控制項的偵錯輸出索引標籤上建立事件。

  5. 如果您想要變更 UnifiedServiceDesk.log 檔案的位置,請變更 Location 參數的值。

  6. 根據預設,新的 Unified Service Desk 記錄會在目前記錄檔的檔案大小超過 52.42 MB 之後建立。 根據預設,一次最多可保留的 10 個記錄檔,在最舊的記錄檔刪除之前。

    • 若要變更 Unified Service Desk 記錄檔大小上限,請變更 MaxFileSize 參數的值 (以位元組為單位)。

    • 若要變更將最舊的記錄刪除之前保留的記錄數目,請變更 MaxFileCount 參數的值。 如果使用零 (0),則會停用變換記錄,並儲存所有已建立的 Unified Service Desk 用戶端記錄。

  7. 根據預設,會啟用所有來源的檔案和偵錯工具記錄。 如果您想要對診斷來源新增或移除接聽程式,在 <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 登入處理程序的記錄來源。 此來源將會報告有關登入程序的一般或詳細診斷資訊。
Microsoft.Xrm.Tooling.Connector.CrmServiceClient 所有 Dataverse 資料層級互動的記錄來源。 此來源將會報告與 Dataverse 的所有互動、例外狀況和時間。
Microsoft.Xrm.Tooling.WebResourceUtility 透過 Dataverse 介面連結的 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 內的問題或資訊。

診斷記錄級別

有數個不同的記錄級別可供使用。 不過,當您增加記錄的級別,記錄檔中會產生並儲存更多的資料。

記錄層級 描述
關閉​​ 停用從這個來源的所有事件。
錯誤 只報告錯誤事件。
警告 報告錯誤和警告事件。
資訊 報告錯誤、警告和資訊事件。
詳細資訊 報告錯誤、警告、資訊和詳細資訊事件。
ActivityTracing 報告錯誤、警告、資訊及詳細資訊事件,以及活動追蹤 (方法名稱)。 附註:ActivityTracing 僅適用於部分來源。
全部 報告系統所引發的所有事件。

診斷記錄接聽程式

診斷記錄檔接聽程式用來鎖定檔案的診斷記錄輸出、事件記錄檔或其他來源。 根據預設,所有的診斷來源都連接至預設 (偵錯工具) 和檔案 (文字) 接聽程式。 您可以為 Unified Service Desk 診斷記錄,設定額外的記錄接聽程式。 如需有關 .NET 預設接聽程式的詳細資訊,請參閱:

檢視診斷記錄檔

根據預設,會啟用 Unified Service Desk 用戶端應用程式的診斷記錄。 記錄檔 UnifiedServiceDesk-<date>.log 可在用戶端電腦的 c:\Users\<UserName>\\Roaming\Microsoft\Microsoft Dynamics 365 Unified Service Desk\<Version> 中取得,以記錄用戶端應用程式中的作業錯誤。 第一次遇到用戶端應用程式的任何錯誤時,會建立記錄檔。

當託管控制項發生錯誤時,記錄檔中記錄的資訊可提供有關例外狀況的詳細資訊,例如造成例外狀況的來源託管控制項,以及例外狀況詳細資料。 請注意,不會記錄造成例外狀況的整個 JavaScript 程式碼。 只會記錄錯誤碼和例外狀況描述。

以下是記錄的範例例外狀況詳細資料。

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 如何處理應用程式和系統錯誤中找到。

例外狀況期間建立的資料夾和檔案

發生例外狀況時,錯誤診斷報告會在本機電腦上建立資料夾,名為 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 資料夾中。
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 的完整記憶體傾印檔案。 請注意,若要檢視傾印檔案,您需要 Visual Studio 或其他 Windows 傾印檔案檢視工具。

設定錯誤診斷報告

  1. 登入 Unified Service Desk 系統管理員。

  2. 選取進階設定下方的稽核與診斷

  3. 選取 + 新增,然後選取 DiagnosticsConfiguration

  4. 選取或輸入您想要的值,例如追蹤、結束監視,以及診斷記錄資料夾位置。 其他資訊:診斷

  5. 選取儲存並關閉

另請參閱

設定 Unified Service Desk 的稽核和診斷

Unified Service Desk 中用來疑難排解問題的偵錯支援

偵錯 Unified Service Desk 的問題