使用Netty 4.0.0.beta1,对我来说,将传入/传出HTTP流量记录到基于Netty的服务器的最佳方式是什么?我的管道当前为:
p.addLast("decoder", new HttpRequestDecoder());
p.addLast("aggregator", new HttpObjectAggregator(1048576));
p.addLast("encoder", new HttpResponseEncoder());
p.addLast("handler", new MyBusinessLogicHandler());
我尝试编写一个实现ChannelInboundMessageHandler
的处理程序,然后在InboundBufferUpdated(ChannelHandlerContext ctx)
方法中进行日志记录,这似乎对传入的请求很好,但这是推荐的方式吗?
当我试图实现ChannelOutboundMessageHandler
时,我未能在Flush(ChannelHandlerContext ctx,ChannelPromise promise)
方法中看到实际的FullHttpResponse对象。
建议?谢了!
注意:Netty API自测试版以来已经发生了很大的变化。现在您只需在管道中添加logginghandler
即可。MessageLoggingHandler
和ByteLoggingHandler
消失了。
您可以将MessageLoggingHandler
放在管道中的编解码器处理程序之后(即MyBusinessLogicHandler
之前)。默认情况下,它记录debug
级别的所有消息和事件,因此您可能需要对其进行调整。如果您对低级流量转储非常感兴趣,请使用ByTelogGingHandler
并将其放在编解码器处理程序之前。
在Vertx WebClient中记录传出http请求和响应的最简单方法是什么。我正在寻找类似于httpserver LoggerHandler的东西,但接下来是webclient的输出请求。
应用程序应异步(在单独的线程中)记录以下信息,而不会影响客户端。 请求HTTP方法和URI 如果我们在过滤器中使用,那么spring将无法再次使用它进行json到对象的映射。在输入流到对象映射期间的某个地方,我们可以插入记录器吗? 更新: 我们可以在MessageConverter中编写日志代码,但这似乎不是一个好主意。
问题内容: 这是In go中的后续问题,如何检查写入http.ResponseWriter的http响应因为那里的解决方案需要伪造一个请求,所以对于单元测试非常有效,但不适用于实时服务器。 我想将我的Web服务响应于从用户收到的请求而返回的HTTP响应转储到日志文件(或控制台)中。输出应该告诉我标题是什么和JSON有效负载。 如何做到这一点? 如果有一个使用http.ResponseWriter作
我在改型API中找不到记录完整请求/响应体的相关方法。我希望在探查器中得到一些帮助(但它只提供关于响应的元数据)。我尝试在构建器中设置日志级别,但这也没有帮助: 编辑:此代码正在工作。我不知道为什么它在早些时候不起作用。可能是因为我用的是旧版本的改装。
问题内容: 我正在使用RestTemplate来调用Web服务。 如果此操作无法返回用户ID,我只会返回null,但不知道为什么。如何将实际的XML响应输出到日志? 问题答案: 根据所使用的建立HTTP连接的方法,您可以查看在实际HTTP连接类中打开日志记录。 例如,如果您使用Commons HttpClient,则可以设置 commons- httpclient项目在其日志记录做法的文档中有一整
我在雄猫上部署了一个泽西岛 2.5.1 应用程序。我在我的网络中添加了以下配置.xml: 它打印请求和响应头。但是,它没有在响应中打印请求/响应实体/主体。 我试着和不同的情妇玩,但没有运气,比如: 感谢您的回答。看起来我在上面粘贴了错误的配置。这是我在我的网络上有什么.xml: 它记录标题。但它不记录实体。这是我在日志中看到的: 我的Jersey应用程序部署在Tomcat 7_50服务器上。 如