不要在“应用洞察”中记录静态文件的遥测

时间:2019-06-18 20:51:19

标签: c# azure azure-application-insights

在Application Insights中对运行在Azure App Service上的.NET Framework 4.7.2 Web应用程序进行日志记录遥测。

很多遥测来自静态文件请求,例如.js和.css文件,这对我来说并不有趣。由于它会产生存储成本,因此最好不要完全记录它们。

解决方案的想法之一是根据请求的URL过滤实现ITelemetryProcessor接口的类中的ITelemetry项目。

public void Process(ITelemetry item)
{
    if (item is RequestTelemetry request && request.Url.AbsolutePath.EndsWith(".js", StringComparison.OrdinalIgnoreCase))
    {
        return;
    }

    this.Next.Process(item);
}

我怀疑可能会有更可靠/更有效的方式来实现我想要的目标。任何人?

1 个答案:

答案 0 :(得分:1)

您可以尝试通过web.config中的托管处理程序来禁用静态文件的处理:

async结合AI专用模块上的<modules runAllManagedModulesForAllRequests="true"> ...

这将确保AI模块不会处理对静态文件的请求。 如果失败,那么下一个最好的选择就是使用遥测处理器。