【发布时间】:2017-12-28 21:35:26
【问题描述】:
我正在使用 Jersey 2.22。我已经注册了一个LoggingFeature,它根据我设置的详细程度记录请求、响应、标头、有效负载等,但是我想实现我自己的自定义日志过滤器,该功能将使用该过滤器。
查看LoggingFeature 的来源,看来这是不可能的。这似乎很不灵活。使用以前版本的 Jersey,实现 LoggingFilter 并在客户端上注册它非常简单。
我真的很想实现我自己的ClientLoggingFilter 版本,这样我就可以在我的日志中写出简洁的一行。
有什么建议吗?该文档缺少 IMO。 https://jersey.github.io/documentation/latest/logging_chapter.html#d0e15744
【问题讨论】:
-
您的问题非常广泛,您能否更具体一点,您希望记录什么以及使用什么,代码显示您已经尝试过的内容怎么样?
-
我没有尝试过任何事情,因为据我所知,您无法像使用 LoggingFilter 那样扩展/实现您自己的响应过滤器,因为 LoggingFeature 挡住了路。我想以与默认过滤器日志相同的方式记录请求/响应的各个方面,但希望它的格式符合我的需要。我可以显示我如何注册有效的日志记录功能的代码,但在那之后我看不到前进的道路。我想我错过了一些东西。
-
您能否更详细地解释您希望根据需要格式化日志消息的含义?
-
基本上,我想扩展 LoggingFeature,就像我们在 Jersey 1.x 中扩展 LoggingFilter 一样。这两个类都实现了 ClientRequest/ResponseFilters,这意味着它们可以访问原始请求和响应对象。诸如标头、状态、有效负载、响应时间等之类的东西。如果您熟悉 Jersey 中的 LoggingFilter/Feature,这很常见。
-
我已经发布了类似问题的解决方案,链接:stackoverflow.com/questions/40171273/…
标签: java jersey jersey-2.0 jersey-client