首页 > 解决方案 > 在 Python 中打印完整的 HTTP/2 gRPC 响应

问题描述

我有一个 Python 中的 gRPC 服务器,我正在寻找一种方法来打印它在收到请求后提供的完整 HTTP/2 响应。下面是接收请求并返回响应的方法。

@inject.params(storage='storage')
def getPerson(self, request,context=None, storage = None)
    logger.info('call of username {}'.format(
        request.username
    ))
    logger.info('Client Metadata {} '.format(
        context.invocation_metadata()
    ))

    response = mProto.Auth()
    response.value = 100
    logger.info('Client Metadata {} '.format(
        context.invocation_metadata()
    ))
    #some code
    response = storage.request(request.username, request.password)
    return response

标签: pythonhttpprotocol-buffersgrpc

解决方案


您可以通过此处定义的环境变量在 gRPC 中启用调试日志记录。通过设置GRPC_VERBOSITY=DEBUGand GRPC_TRACE=http,服务器将在其 http2 堆栈中打印活动。您必须筛选输出以找到所需的内容。


推荐阅读