有两种方法可以配置 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 日志文件的位置,请按照以下步骤操作:
打开 UnifiedServiceDesk.exe.config 文件进行编辑。 如果您在默认位置安装了 Unified Service Desk 客户端,则此文件通常位于 C:\Program Files\Microsoft Dynamics 365 Customer Engagement 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
将在目录中创建一个名为 UnifiedServiceDesk.logc:\Users\<UserName>\AppData\Roaming\Microsoft\Microsoft\Microsoft Dynamics 365 Unified Service Desk\<Version>
的文件,并将USDDebugListener
在 Debugger 托管控件的 Debug output (调试输出) 选项卡中 创建事件。如果要更改 UnifiedServiceDesk.log 文件的位置,请更改参数的值
Location
。默认情况下,在当前日志文件的文件大小超过 52.42 MB 后,将创建新的 Unified Service Desk 日志。 默认情况下,在删除最早的日志文件之前,一次最多维护 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>
现在,除了文件和 Debugger 之外,它还会将事件报告到带有标签“USD”的 Windows 事件日志中。 有关诊断侦听器的更多信息,请参阅本主题后面的 诊断日志侦听器 。
诊断日志源
下表列出了常见的故障排除日志源。
源名称 | DESCRIPTION |
---|---|
EventTopicSwitch | 详细的用户界面集成 (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 功能的日志源。 此日志源将报告与统一服务台相关的核心操作和事件。 |
Microsoft.Crm.UnifiedServiceDesk.Dynamics | 用于 Unified Service Desk 启动和加载处理器的日志源。 此源将报告在初始化和启动 UII 和 Unified Service Desk 过程中的操作和事件。 |
Microsoft.Crm.UnifiedServiceDesk.CommonUtility.UserProfileManager | 与用户配置文件系统交互操作的日志来源;这是缓存系统的一部分。 详细信息: 为您的代理应用程序配置客户端缓存 |
您可以单独切换每个日志源,以支持 Unified Service Desk 中问题或信息的故障排除和隔离。
诊断日志记录级别
有几种不同的日志记录级别可供使用。 但是,随着日志记录级别的提高,会生成更多数据并将其存储在日志文件中。
日志级别 | DESCRIPTION |
---|---|
关闭 | 禁用来自此源的所有事件。 |
错误 | 仅报告错误事件。 |
警告 | 报告错误和警告事件。 |
信息 | 报告错误、警告和信息事件。 |
详细 | 报告错误、警告、信息和详细事件。 |
ActivityTracing | 报表错误、警告、信息和详细事件和活动跟踪(方法名称)。 注意: ActivityTracing 仅在某些源上可用。 |
全部 | 报告系统引发的所有事件。 |
诊断日志监听程序
诊断日志侦听器用于将诊断日志输出定向到文件、事件日志或其他源。 默认情况下,所有的诊断源可连接到默认(调适程序)和文件(文本)监听程序。 您可以为 Unified Service Desk 的诊断日志记录配置其他日志侦听器。 有关 .NET 默认侦听器的详细信息,请参阅:
-
您还可以创建自定义侦听器,以将诊断日志发送到您选择的位置。 自定义侦听器是通过从 MSDN:TraceListener 抽象类派生类来创建的。 您可以在 CodeGuru.com 上找到该过程的演练。
查看诊断日志文件
默认情况下,为 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 的文件夹,其中日期和时间的格式为 year-month-date_time,例如 DiagnosticLogs_20170322_173643。 在 DiagnosticsLogs 文件夹中,将创建以下文件夹和文件。
诊断文件 | DESCRIPTION |
---|---|
UnifiedServiceDesk_日期和时间.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 转储文件查看工具。 |
配置错误诊断报告
登录到 Unified Service Desk 管理员。
在 Advanced Settings (高级设置) 下选择 Auditing and Diagnostics (审计和诊断)。
选择 + 新建,然后选择 DiagnosticsConfiguration。
选择或输入所需的值,例如跟踪、退出监视和诊断日志文件夹位置。 详细信息: 诊断
选择保存并关闭。
另请参阅
在 Unified Service Desk 中配置审核和诊断