RESTEasy | ServerWriterInterceptorContext中注入TracingLogger的设计思路
先分析AbstractWriterInterceptorContext
:
AbstractWriterInterceptorContext
是不带http request的,也就没法直接获得tracing logger:
解决方案就是使用ServerWriterInterceptorContext
的HttpRequest
实例来注入logger:
把AbstractWriterInterceptorContext
旧有的constructor标记为deprecated:
新的constructor接受logger:
这样我们就可以在proceed(...)
方法里使用tracingLogger
:
至于客户端的ClientWriterInterceptorContext
,还没有想好如何注入tracing logger,初步的想法是从ResteasyProviderFactory
着手。到时候具体要分析client这边对ResteasyProviderFactory
的初始化过程。