From c16b1933043281c6a3ac79f325abf20552ed1f68 Mon Sep 17 00:00:00 2001 From: Wayne Zhang Date: Thu, 5 Sep 2019 11:28:39 -0700 Subject: [PATCH] Add client_ip to the log entries --- src/api_manager/service_control/proto.cc | 4 ++++ src/nginx/t/ServiceControl.pm | 1 + src/nginx/t/multiple_apis.t | 1 + 3 files changed, 6 insertions(+) diff --git a/src/api_manager/service_control/proto.cc b/src/api_manager/service_control/proto.cc index 3a8344be7..1f1c9d757 100644 --- a/src/api_manager/service_control/proto.cc +++ b/src/api_manager/service_control/proto.cc @@ -964,6 +964,7 @@ const char kLogFieldNameLogMessage[] = "log_message"; const char kLogFieldNameRequestLatency[] = "request_latency_in_ms"; const char kLogFieldNameUrl[] = "url"; const char kLogFieldNameErrorCause[] = "error_cause"; +const char kLogFieldNameClientIp[] = "client_ip"; // Convert timestamp from time_point to Timestamp Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp) { @@ -1083,6 +1084,9 @@ void FillLogEntry(const ReportRequestInfo& info, const std::string& name, if (!info.method.empty()) { (*fields)[kLogFieldNameHttpMethod].set_string_value(info.method); } + if (!info.client_ip.empty()) { + (*fields)[kLogFieldNameClientIp].set_string_value(info.client_ip); + } if (info.response_code >= 400) { (*fields)[kLogFieldNameErrorCause].set_string_value( Status::ErrorCauseToString(info.status.error_cause())); diff --git a/src/nginx/t/ServiceControl.pm b/src/nginx/t/ServiceControl.pm index a22dc6296..a647fbe44 100644 --- a/src/nginx/t/ServiceControl.pm +++ b/src/nginx/t/ServiceControl.pm @@ -180,6 +180,7 @@ sub gen_log_entry { $payload->{url} = $in->{url} if exists $in->{url}; $payload->{http_method} = $in->{http_method} if exists $in->{http_method}; $payload->{error_cause} = $in->{error_cause} if exists $in->{error_cause}; + $payload->{client_ip} = "127.0.0.1"; my $severity = 'INFO'; if ($in->{response_code} >= 400) { diff --git a/src/nginx/t/multiple_apis.t b/src/nginx/t/multiple_apis.t index 08e2d9ce0..1bc703708 100644 --- a/src/nginx/t/multiple_apis.t +++ b/src/nginx/t/multiple_apis.t @@ -233,6 +233,7 @@ my $expected_report_body = { 'request_size_in_bytes' => 55, 'response_size_in_bytes' => 90, 'http_method' => 'GET', + 'client_ip' => '127.0.0.1', 'service_agent' => ServiceControl::service_agent(), 'service_config_id' => '2016-08-25r1' },