如何停止Application Insights记录jquery中生成的已处理异常?

时间:2019-11-01 19:55:55

标签: jquery azure-application-insights

我在Azure中有一个Web应用程序,已为其打开了Application Insights。在我的应用中,我使用Progress / Telerik Kendo for JavaScript API,版本为2017.3.1102,与jQuery 1.12.3捆绑在一起。

Application Insights正在记录来自jQuery的已处理异常,这些异常在此处有针对性地记录为:https://bugs.jquery.com/ticket/14123

我想阻止这些内容被AI记录下来。我正在尝试解决一个模糊的安全令牌问题,因此我希望日志记录能够扩展,但是这些已处理的异常每小时在我的Application Insights日志中生成数千个条目。

是否有一种方法可以排除特定的JavaScript文件或API或“处理过的”例外情况?

1 个答案:

答案 0 :(得分:1)

如果选择走TelemetryProcessor路线,则可以实现遥测处理器,该处理器将检查事件并过滤掉不需要的事件。当满足条件时,从遥测处理器返回false将过滤事件。
感谢Ivan链接了ITelemetryProcessor文档。我意识到该文档没有有关如何在JavaScript中实现过滤的详细信息。立即更新。

以下是显示如何实现过滤的示例:

  1. 定义过滤功能:
var filteringFunction = (envelope) => {
  if (envelope.data.someField == "tobefilteredout") {
    return false;
  }

  return true;
};
  1. 添加遥测初始化程序回调:
appInsights.addTelemetryInitializer(filteringFunction);