转储apache节俭消息以进行调试吗?

问题描述

Apache Thrift是开放源代码RPC框架最受欢迎的选择之一(gRPC自发布以来也获得了很多关注)。

我的设置中,我使用的是TMultiplexedProcessor。我想这可能是任何TProcessor,因为我只是想打印发送的内容

方法称为:

  bool process(std::shared_ptr<protocol::TProtocol> in,std::shared_ptr<protocol::TProtocol> out,void* connectionContext) override {

我的想法是再次覆盖此参数,以便可以打印in参数-但是如何编写TProtocol输出? (乍一看,序列化为字符串似乎并不简单)

我觉得可能还有其他或更简单的方法。所以我的问题是我该如何转储通过Thrift收到的所有消息(出于调试目的)?

解决方法

TProtocolTapSub GetData() sFilterData = Console.In.ReadToEnd() End Sub

用法示例可在thrift_dump.cpp中找到:

TDebugProtocol