当前位置: 首页 > 知识库问答 >
问题:

在使用Play framework时启用带有应用程序洞察的web请求日志记录

温镜
2023-03-14

我们有一个使用Play框架的Java web应用程序。如何使用应用程序洞察添加web请求日志记录?其他项目类型的文档可用https://docs.microsoft.com/en-us/azure/azure-monitor/app/java-get-start#4-add-an-http-filter

共有1个答案

锺离锦
2023-03-14

假设您使用的是PlayFramework2.7,在Java端,有JavaHTTPFilters。https://www.playframework.com/documentation/2.7.x/javahttpfilters

不幸的是,这些文件没有实现javax.servlet.filter,而您链接到的文档使用的正是javax.servlet.filter。文档说明您应该注册过滤器webrequesttrackingfilter。基本上,它使用HttpServerHandler填写RequestTelemetry,然后使用TelemetryClient将其发送到ApplicationInsights。

在您的play.mvc.filter中,您将执行相同的操作。创建TelemetryClient(您可能希望使用DI将其注入到过滤器)。在filterapply方法中,创建一个RequestTelemetry,然后使用TelemetryClient#TrackRequest发送它。

 类似资料:
  • 我正在尝试将API请求负载和响应数据记录到Azure Application Insight。使用跟踪我可以记录。但是我想知道什么是将请求和响应数据记录到application Insight的最佳方法。因为数据是巨大的,所以API调用的数量会更多。我不能仅仅使用跟踪来跟踪数十万个请求和响应数据。我尝试了一些博客,比如使用itelemetryinitializer/httpcontext.feat

  • 嗯,这个例子看起来很不完整,因为它从来没有提到关键字。通过查看源代码,我看到了一个示例(测试?)它在log4j.xml中使用了,但对如何使用或调试实际的记录器没有太多解释。 关于如何实际使用/实现ApplicationInsightsAppender for Log4J,有没有人有任何指示? 以下是github https://github.com/microsoft/applicationins

  • Azure应用程序使用java中的log4j框架洞察日志消息,如下所示。 https://docs.microsoft.com/en-us/azure/azure-monitor/app/java-trace-logs

  • Azure应用程序洞察或日志分析的用例是什么? 我正在使用APIM和Azure函数,并希望对请求执行日志记录。应用洞察和日志分析哪一个最合适? https://docs.microsoft.com/en-gb/Azure/Azure-monitor/overview 更新 特别是关于APIM使用的Azure应用程序洞察与日志分析的任何信息?

  • 我想有一个共享的应用程序insights实例,将保存来自不同微服务运行的所有日志。 或者说,共享应用程序insights实例并将所有日志和遥测都放在一堆中是不是一个坏主意?

  • 我们如何区分哪个日志来自哪个应用程序,是否想把所有日志混在一个地方? 我们有一个现有的应用程序,并且在整个应用程序中有几个log语句,这就是我们选择Log4Net appender来了解应用程序的原因。