如何为 gRPC 记录客户端连接到服务器?

How to log client connection to server for gRPC?

如何为 gRPC 记录客户端与服务器的连接?

这是在客户端连接时发生的事件,我应该能够获得一些基本信息,如 IP、版本并记录它

DATETIME connection from 192.168.1.1 AppName

gRPC / Protobuf interface versioning相关

今天,IP 地址和版本在每个 RPC 的基础上可用,但在客户端连接时不可用。您可以使用 serverCall.attributes().get(Grpc.TRANSPORT_ATTR_REMOTE_ADDR) 获取 IP 地址,版本包含在 User-Agent 元数据中。

Issue 2312 (v1.1) 将添加一个新连接通知机制。它可以访问客户端的 IP 地址,但不知道客户端版本。由于代理之类的原因,客户端版本仅在每个 RPC 的基础上已知。