gpt4 book ai didi

azure - 在 Application Insights 上记录 D365 脚本错误

转载 作者:行者123 更新时间:2023-12-03 03:05:15 25 4
gpt4 key购买 nike

我尝试使用 Application Insights 自动记录 Dynamics 365 实例中的表单/脚本错误,但未跟踪这些错误。

我首先在 Azure 中创建一个 Application Insights 资源,并将以下 JavaScript(从 App Insights 资源的入门部分中提取)添加到我的 CRM 表单中(就像这样 walkthrough ):

var appInsights=window.appInsights||function(config){
function i(config) { t[config] = function () { var i = arguments; t.queue.push(function () { t[config].apply(t, i) }) } }var t={config:config},u=document,e=window,o="script",s="AuthenticatedUserContext",h="start",c="stop",l="Track",a=l+"Event",v=l+"Page",y=u.createElement(o),r,f;y.src=config.url||"https://az416426.vo.msecnd.net/scripts/a/ai.0.js";u.getElementsByTagName(o)[0].parentNode.appendChild(y);try{t.cookie = u.cookie}catch(p){}for(t.queue=[],t.version="1.0",r=["Event","Exception","Metric","PageView","Trace","Dependency"];r.length;)i("track"+r.pop());return i("set"+s),i("clear"+s),i(h+a),i(c+a),i(h+v),i(c+v),i("flush"),config.disableExceptionTracking||(r="onerror",i("_"+r),f=e[r],e[r]=function(config,i,u,e,o){var s=f&&f(config,i,u,e,o);return s!==!0&&t["_"+r](config,i,u,e,o),s}),t
}({
instrumentationKey:"XXXXX"
});

window.appInsights=appInsights;
appInsights.trackPageView();

此后,我开始查看与页面浏览量和页面加载时间相关的数据,以便启用跟踪:

enter image description here

我的下一步行动是强制表单中的一些脚本错误在 Azure 中可视化。为了做到这一点,我在字段的 OnChange 事件中添加了一个 JavaScript 函数来获取“未定义”错误:

enter image description here

正如您在上图中看到的,D365 中按预期抛出了错误,但 Application Insights 中没有该错误的记录。经过一些测试后,我开始怀疑 CRM 正在捕获该错误,并且不让它到达浏览器(该错误不会出现在控制台中)。为了证实我的怀疑,我创建了一个具有相同 App Insights 配置的 HTML 网页,并模拟了错误以查看在该场景中是否正在跟踪错误,答案是肯定的:

enter image description here

因此,Dynamics 似乎正在“吞噬”该错误并阻止其被记录。以前有人遇到过这个问题吗?是否有解决方法可以用来成功将错误跟踪到 App Insights 中?

谢谢!

最佳答案

Dynamics CRM 将以特殊方式处理自定义脚本 block 。

我们必须在表单 js 中优雅地捕获异常并将其记录在 AppInsights 中,如下所示。

try
{
...
}
catch (ex)
{
appInsights.trackException(ex);
}

Reference

关于azure - 在 Application Insights 上记录 D365 脚本错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45080988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com