如何配置客户端诊断日志记录

有两种方式配置 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. 默认情况下,当前日志文件的文件大小超出 52.42 MB 时,将创建一个新的 Unified Service Desk 日志。 默认情况下,删除最早日志文件之前同时最多可保留 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 客户端应用程序启用诊断日志记录。 客户端计算机上 c:\Users\<UserName>\\Roaming\Microsoft\Microsoft Dynamics 365 Unified Service Desk\<Version> 中有一个 UnifiedServiceDesk-<日期>.log 日志文件,用于记录客户端应用程序中的操作错误。 初次遇到客户端应用程序中的任何错误,创建日志文件。

当托管控件发生错误时,日志文件中记录的信息提供有关异常的详细信息,如造成异常的原始托管控件以及异常详细信息。 请注意,不会记录造成异常的整个 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 是“年-月-日_时间”格式,如 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 版本、进程 ID、退出代码和退出时间。
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 中调试问题