From 3a16ba1b8fb39bba245261f862ff76347a37cfcf Mon Sep 17 00:00:00 2001 From: reatang Date: Thu, 27 Jul 2023 14:29:20 +0800 Subject: [PATCH] Update GrpcLogger.php --- src/Middlewares/GrpcLogger.php | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/src/Middlewares/GrpcLogger.php b/src/Middlewares/GrpcLogger.php index f91c29d..bb10eca 100644 --- a/src/Middlewares/GrpcLogger.php +++ b/src/Middlewares/GrpcLogger.php @@ -47,13 +47,12 @@ public function interceptUnaryUnary( private function responseLog($name, ?Message $argument, ?Message $response, $status, $startTime) { $t = (microtime(true) - $startTime) * 1000; - if ($this->logger) { - $this->writeLogInfo("[GRPC] CALL {$name} - Time: {$t}", [ - 'status' => "{$status->code}:$status->details", - 'request' => $this->decodeMessage($argument), - 'response' => $this->decodeMessage($response), - ]); - } + + $this->writeLogInfo("[GRPC] CALL {$name} - Time: {$t}", [ + 'status' => "{$status->code}:$status->details", + 'request' => $this->decodeMessage($argument), + 'response' => $this->decodeMessage($response), + ]); } private function decodeMessage(?Message $message) : ?array @@ -62,13 +61,13 @@ private function decodeMessage(?Message $message) : ?array return null; } + // 注意,php 的 serializeToJsonString 不支持 google.protobuf.Any 参数的自动解析为JSON,需手动转换 + // 如果 message 参数中存在Any类型,此处会报错 return json_decode($message->serializeToJsonString(), true); } protected function writeLogInfo($message, array $context = []) { - if ($this->logger) { - $this->logger->info($message, $context); - } + $this->logger->info($message, $context); } }