使用Play框架时,通过Application Insights启用Web请求日志记录

时间:2019-08-29 05:50:37

标签: azure playframework azure-application-insights

我们有一个使用Play Framwork的Java Web应用程序。如何使用Application Insights添加Web请求日志记录?其他项目类型https://docs.microsoft.com/en-us/azure/azure-monitor/app/java-get-started#4-add-an-http-filter

的文档可用

1 个答案:

答案 0 :(得分:0)

假设您使用的是playframework 2.7,在Java方面,有JavaHttpFilters。 https://www.playframework.com/documentation/2.7.x/JavaHttpFilters

不幸的是,它们没有实现javax.servlet.Filter,这是您链接到的文档所使用的。文档说您应该注册过滤器WebRequestTrackingFilter。基本上,它使用RequestTelemetry填充HttpServerHandler,然后使用TelemetryClient将其发送到ApplicationInsights。

在您的play.mvc.Filter中,您将执行相同的操作。创建一个TelemetryClient(您可能想使用DI将其注入到Filter中)。在您的Filter的{​​{1}}方法中,创建一个RequestTelemetry,然后使用TelemetryClient#trackRequest发送。