apache http客户端请求属性访问

时间:2017-01-09 11:33:56

标签: java spring apache

我在基于Spring的java应用程序中使用apache http客户端库。客户需要以特殊格式进行额外的记录。

日志中的行应如下所示:

google.com 10.13.111.101 - - [02 / Jan / 2017:20:03:16 +0600] [时长:10226195我们(10秒)]“POST /aaa/bbb.asmx HTTP / 1.1”500 342 (redir = - ,SID = - )发送“Java1.6.0_85”字节:2108

我想到了几种解决方案,但下面没有一种解决方案似乎是理想的:

  • 使用apache代理服务器 - 此应用程序禁止此操作
  • 使用网址连接 - 此应用程序也不可行
  • 使用apache客户端日志记录 - 这提供了所有信息,但在几行中,其中一个解决方案是登录内存并重新格式化日志,但是一旦apache更改了日志格式,此解决方案就会失败。
  • 使用反射来访问请求/响应中的属性 - 使用反射面临与上述相同的问题。
  • 更改apache客户端代码本身 - 也是丑陋的方法

解决方案我可能最终会使用:

  • 我会将客户端放入我的对象中,该对象会记录所有内容。我不太喜欢这个解决方案,因为它使apache http客户端的功能加倍。例如,如果我需要请求的持续时间,我就没有机会以编程方式从请求/响应对象中获取它。我需要自己测量时间。 IP地址相同。我只是为了记录目的而需要额外的请求来发现IP地址: - (

有什么好处:

  • 使用一些我简单添加到spring生态系统的java代理框架,它为我提供了传出/传入的http请求/响应的所有信息,我可以简单地记录我需要的信息。有这样的事吗?

或者您有任何其他想法如何处理它?<​​/ p>

0 个答案:

没有答案