为了账号安全,请及时绑定邮箱和手机立即绑定

在 Application Insights 中查看 POST 请求正文(JAVA 示例)

在 Application Insights 中查看 POST 请求正文(JAVA 示例)

凤凰求蛊 2022-07-06 09:48:55
是否可以提供一个像这篇文章中那样的有效 JAVA 示例? 在 Application Insights 中查看 POST 请求正文谢谢你的支持
查看完整描述

1 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

TelemetryModules 跟踪 HTTP 请求中的各种数据,并将其作为 RequestTelemetry 发送到 AI 服务器。为了跟踪任何自定义 HTTP 参数,必须通过实现 WebTelemetryModule 和 TelemetryModule 接口来创建一个新的 TelemetryModule,该接口是应用洞察 SDK 的一部分。

这是示例实现。

//img1.sycdn.imooc.com//62c4ea850001a12707040553.jpg

WebTelemetry 模块是可以在请求生命周期中访问 HttpRequest 和 HttpResponse 对象的模块。基本上,AI 通过注册 Servlet fitler 来收集请求遥测数据,并且在处理实际请求之前调用 onBeginRequest,在处理请求之后调用 onEndRequest。

现在在 ApplicationInsights.xml 文件中注册模块

//img1.sycdn.imooc.com//62c4ea900001bf7610190129.jpg

<TelemetryModules>

        <Add type="com.ai.demo.CustomHttpTelemetryModule"/>

        <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebRequestTrackingTelemetryModule"/>

        <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebSessionTrackingTelemetryModule"/>

        <Add type="com.microsoft.applicationinsights.web.extensibility.modules.WebUserTrackingTelemetryModule"/>

      </TelemetryModules>

请注意,我已经在所有默认遥测之前注册了 TelemetryModule,因为如果您在 WebRequestTelemetryModule 之后注册遥测,那么您在 OnEndRequest 中设置的任何内容都不会被传递,因为 WebRequestTelemetryModule 在其 onEndRequest 方法中生成 trackRequest。在 trackRequest() 调用后所做的任何更改都不会反映在 AI 门户中。


TelemetryModules 按照它们在 ApplicationInsights.xml 文件中定义的顺序执行。


集成 App Insights 非常简单,相关文档可以在此处找到。


https://docs.microsoft.com/en-us/azure/azure-monitor/app/java-get-started


希望能帮助到你。


查看完整回答
反对 回复 2022-07-06
  • 1 回答
  • 0 关注
  • 109 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信