From c388c4d8457c318ed42f3cbb5654353400faf845 Mon Sep 17 00:00:00 2001 From: dongwei <838456736@qq.com> Date: Sat, 19 Jan 2019 16:53:19 +0800 Subject: [PATCH] add rpc logger --- src/Client.php | 11 ++++------- src/Server/JsonRpcServer.php | 3 ++- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/Client.php b/src/Client.php index 8d4fbc5..e33c4ad 100644 --- a/src/Client.php +++ b/src/Client.php @@ -34,12 +34,7 @@ class Client public function __construct($config) { - $default = [ - 'app' => '***', - 'log_path' => "/logs/rpc_monitor_" . date("Ymd") . ".log", - 'log_formatter' => \JsonRpc\Logging\LogstashFormatter::class, - ]; - $this->config = array_merge($default, $config); + $this->config = $config; $this->id = app('request')->header('X-Request-Id') ?: "no-x-request-id"; } @@ -104,6 +99,7 @@ class Client 'client_host' => gethostname(), 'client_addr' => $_SERVER['SERVER_ADDR'], ]; + app('rpc.logger')->info("client_request",array_merge($this->server_config, $payload)); $resp = $this->http->request('POST', 'rpc/json-rpc-v2.json', [ 'headers' => $headers, 'json' => $payload, @@ -114,14 +110,15 @@ class Client try { $body = \GuzzleHttp\json_decode($resp->getBody(), true); + app('rpc.logger')->info("client_response",$body); if (isset($body['error']) && isset($body['error']['code']) && isset($body['error']['message'])) { $message = is_array($body['error']['message']) ? json_encode($body['error']['message']) : $body['error']['message']; throw new RpcServerException($message, $body['error']['code']); } - app('rpc.logger')->info('rpc call log new return'); return $body['result']; } catch (\InvalidArgumentException $e) { + app('rpc.logger')->error('client_decode_error',array_merge($this->server_config, $payload)); throw new RpcServerException('json decode error', -32700); } } diff --git a/src/Server/JsonRpcServer.php b/src/Server/JsonRpcServer.php index 01f59a9..4431111 100644 --- a/src/Server/JsonRpcServer.php +++ b/src/Server/JsonRpcServer.php @@ -63,8 +63,9 @@ class JsonRpcServer return $this->error(self::Rpc_Error_Invalid_Params); } - app('log')->info('rpc ser', [$method, $params, $id, $class, $this->request->header('client_app')]); + app('rpc.logger')->info('server', [$id, $class,$method, $params, $this->request->header('client_app'), $this->request->header('client_addr'), $this->request->header('client_host')]); $ret = call_user_func_array([(new $class($id, $this->request)), $function], $params); + app('rpc.logger')->info('server_result', [$id, $ret]); return $ret; } catch (\InvalidArgumentException $e) {