From f0c758eed2a0ba27f3eb3c268cbfc8e97ce6a829 Mon Sep 17 00:00:00 2001 From: Manuel de Brito Fontes Date: Mon, 6 Mar 2017 12:06:56 -0300 Subject: [PATCH] Fix custom log format --- controllers/nginx/pkg/config/config.go | 12 ++++++++---- controllers/nginx/pkg/config/config_test.go | 8 ++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/controllers/nginx/pkg/config/config.go b/controllers/nginx/pkg/config/config.go index 518191681..c4a4d8edb 100644 --- a/controllers/nginx/pkg/config/config.go +++ b/controllers/nginx/pkg/config/config.go @@ -47,7 +47,7 @@ const ( gzipTypes = "application/atom+xml application/javascript application/x-javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/x-component" - logFormatUpstream = `[$proxy_add_x_forwarded_for] - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_length $request_time [$proxy_upstream_name] $upstream_addr $upstream_response_length $upstream_response_time $upstream_status"` + logFormatUpstream = `%v - [$proxy_add_x_forwarded_for] - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_length $request_time [$proxy_upstream_name] $upstream_addr $upstream_response_length $upstream_response_time $upstream_status"` logFormatStream = `[$time_local] $protocol [$ssl_preread_server_name] [$stream_upstream] $status $bytes_sent $bytes_received $session_time` @@ -305,10 +305,14 @@ func NewDefault() Configuration { // proxy_protocol_addr as remote client address if UseProxyProtocol // is enabled. func (cfg Configuration) BuildLogFormatUpstream() string { - if cfg.UseProxyProtocol { - return fmt.Sprintf("$proxy_protocol_addr - %s", cfg.LogFormatUpstream) + if cfg.LogFormatUpstream == logFormatUpstream { + if cfg.UseProxyProtocol { + return fmt.Sprintf(cfg.LogFormatUpstream, "$proxy_protocol_addr") + } + return fmt.Sprintf(cfg.LogFormatUpstream, "$remote_addr") } - return fmt.Sprintf("$remote_addr - %s", cfg.LogFormatUpstream) + + return cfg.LogFormatUpstream } // TemplateConfig contains the nginx configuration to render the file nginx.conf diff --git a/controllers/nginx/pkg/config/config_test.go b/controllers/nginx/pkg/config/config_test.go index 28bbf271a..2af61f336 100644 --- a/controllers/nginx/pkg/config/config_test.go +++ b/controllers/nginx/pkg/config/config_test.go @@ -12,10 +12,10 @@ func TestBuildLogFormatUpstream(t *testing.T) { curLogFormat string expected string }{ - {true, logFormatUpstream, fmt.Sprintf("$proxy_protocol_addr - %s", logFormatUpstream)}, - {false, logFormatUpstream, fmt.Sprintf("$remote_addr - %s", logFormatUpstream)}, - {true, "my-log-format", "$proxy_protocol_addr - my-log-format"}, - {false, "john-log-format", "$remote_addr - john-log-format"}, + {true, logFormatUpstream, fmt.Sprintf(logFormatUpstream, "$proxy_protocol_addr")}, + {false, logFormatUpstream, fmt.Sprintf(logFormatUpstream, "$remote_addr")}, + {true, "my-log-format", "my-log-format"}, + {false, "john-log-format", "john-log-format"}, } for _, testCase := range testCases {