在 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 中配置审核和诊断

System_CAPS_important重要事项
  • 当您启用针对诊断而配置的“审核和诊断设置”记录后,手动配置的诊断(如此处所述)将不再可用。

  • Unified Service Desk 还提供 API,让您可以配置自定义托管控件的丰富诊断日志记录。 更多信息:MSDN:为自定义托管控件配置增强的诊断日志记录

本主题介绍如何更改客户端日志记录特征。

您可以使用 UnifiedServiceDesk.exe.config 文件启用日志记录,该文件位于计算机的 Unified Service Desk 客户端安装目录中。 要配置 Unified Service Desk 日志文件的日志记录类型和位置:

  1. 打开 UnifiedServiceDesk.exe.config 文件以用于编辑。 如果您在默认位置安装 Unified Service Desk 客户端,该文件通常存在于 C:\Program Files\Microsoft Dynamics 365 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\UnifiedServiceDesk\*<Version>*目录库中创建名为 UnifiedServiceDesk.log 的文件,且 USDDebugListener 将在调试程序托管控件的 MSDN:调试输出选项卡中创建事件。

  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

用于 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 中的信息。

诊断日志记录级别

有多种不同的日志记录级别可供使用。 但是,在增加日志记录的级别时,将生成更多的数据并储存在日志文件中。

日志级别

说明

关闭​​

禁用来自此源的所有事件。

错误

仅报告错误事件。

警告

报告错误和警告事件。

信息

报告错误、警告和信息事件。

详细

报告错误、警告、信息和详细事件。

ActivityTracing

报表错误、警告、信息和详细事件和活动跟踪(方法名称)。

System_CAPS_note说明

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\<Version>,它将操作错误记录在客户端应用程序中。 初次遇到客户端应用程序中的任何错误,创建日志文件。

当托管控件发生错误时,日志文件中记录的信息提供有关异常的详细信息,如造成异常的原始托管控件以及异常详细信息。 请注意,不会记录造成异常的整个 JavaScript 代码。 仅记录错误代码以及异常说明。

System_CAPS_note说明

此处介绍的错误处理和日志记录首先在 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 如何处理应用程序和系统错误中包含有关异常的详细信息。

System_CAPS_note说明

此处介绍的错误诊断报告功能首先在 Unified Service Desk 2.2.2 中引入。

异常期间创建的文件夹和文件

出现异常时,错误诊断报告在本地计算机上创建一个名称为 DiagnosticsLogs_date and time 的文件夹,其中 date and 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 版本、流程 ID、退出代码和退出时间。

MachineHealthReport.txt

出现致命或非致命异常时创建的退出日志。 包含系统状态信息,如计算机处理器、操作系统、显示器详细信息、语言和浏览器版本。

ProcessReport.csv

出现致命或非致命异常时创建的退出日志。 提供出现异常时系统上运行的所有进程的完整列表。

RegistryLog.txt

出现致命或非致命异常时创建的退出日志。 包含 Internet Explorer 的 Windows 注册表子项基于文本的副本。

UnifiedServiceDesk_processId_CrashDump_dateandtime.dmp

仅在存在未经处理的致命异常或通过使用 ManualDumpShortcut 全局选项键盘组合手动调用时创建。 提供 UnifiedServiceDesk.exe 的完整内存转储文件。 请注意,若要查看此转储文件,需要 Microsoft Visual Studio 或其他 Windows 转储文件查看工具。

配置错误诊断报告

  1. 在 Web 应用程序中,转到“设置”>“Unified Service Desk”>“选项”。

  2. 单击“新建”,然后选择 DiagnosticsConfiguration

  3. 输入下表中列出的一个或多个值,并以分号 (;) 分隔。详细信息:错误诊断报告选项值

    例如,此配置更改日志文件目录,将最大诊断日志文件夹大小减小到 2 GB,并将用于调用按需崩溃转储的快捷键组合更改为 CRTL+ALT+D。

    异常诊断选项

  4. 单击“保存并关闭”。

错误诊断报告选项值

错误诊断报告设置通过使用 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。 保留所有权利。 版权