Fix log format after #4557
This commit is contained in:
parent
c481296610
commit
4b4176c830
6 changed files with 3 additions and 70 deletions
|
@ -58,7 +58,7 @@ The following table shows a configuration option's name, type, and the default v
|
||||||
|[keep-alive-requests](#keep-alive-requests)|int|100|
|
|[keep-alive-requests](#keep-alive-requests)|int|100|
|
||||||
|[large-client-header-buffers](#large-client-header-buffers)|string|"4 8k"|
|
|[large-client-header-buffers](#large-client-header-buffers)|string|"4 8k"|
|
||||||
|[log-format-escape-json](#log-format-escape-json)|bool|"false"|
|
|[log-format-escape-json](#log-format-escape-json)|bool|"false"|
|
||||||
|[log-format-upstream](#log-format-upstream)|string|`$remote_addr - $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 $req_id`|
|
|[log-format-upstream](#log-format-upstream)|string|`$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_length $request_time [$proxy_upstream_name] [$proxy_alternative_upstream_name] $upstream_addr $upstream_response_length $upstream_response_time $upstream_status $req_id`|
|
||||||
|[log-format-stream](#log-format-stream)|string|`[$time_local] $protocol $status $bytes_sent $bytes_received $session_time`|
|
|[log-format-stream](#log-format-stream)|string|`[$time_local] $protocol $status $bytes_sent $bytes_received $session_time`|
|
||||||
|[enable-multi-accept](#enable-multi-accept)|bool|"true"|
|
|[enable-multi-accept](#enable-multi-accept)|bool|"true"|
|
||||||
|[max-worker-connections](#max-worker-connections)|int|16384|
|
|[max-worker-connections](#max-worker-connections)|int|16384|
|
||||||
|
|
|
@ -40,7 +40,6 @@ TODO:
|
||||||
- buildAuthLocation:
|
- buildAuthLocation:
|
||||||
- buildAuthResponseHeaders:
|
- buildAuthResponseHeaders:
|
||||||
- buildResolvers:
|
- buildResolvers:
|
||||||
- buildLogFormatUpstream:
|
|
||||||
- buildDenyVariable:
|
- buildDenyVariable:
|
||||||
- buildUpstreamName:
|
- buildUpstreamName:
|
||||||
- buildForwardedFor:
|
- buildForwardedFor:
|
||||||
|
|
|
@ -17,7 +17,6 @@ limitations under the License.
|
||||||
package config
|
package config
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -779,17 +778,6 @@ func NewDefault() Configuration {
|
||||||
return cfg
|
return cfg
|
||||||
}
|
}
|
||||||
|
|
||||||
// BuildLogFormatUpstream format the log_format upstream using
|
|
||||||
// proxy_protocol_addr as remote client address if UseProxyProtocol
|
|
||||||
// is enabled.
|
|
||||||
func (cfg Configuration) BuildLogFormatUpstream() string {
|
|
||||||
if cfg.LogFormatUpstream == logFormatUpstream {
|
|
||||||
return fmt.Sprintf(cfg.LogFormatUpstream, "$remote_addr")
|
|
||||||
}
|
|
||||||
|
|
||||||
return cfg.LogFormatUpstream
|
|
||||||
}
|
|
||||||
|
|
||||||
// TemplateConfig contains the nginx configuration to render the file nginx.conf
|
// TemplateConfig contains the nginx configuration to render the file nginx.conf
|
||||||
type TemplateConfig struct {
|
type TemplateConfig struct {
|
||||||
ProxySetHeaders map[string]string
|
ProxySetHeaders map[string]string
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright 2017 The Kubernetes Authors.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package config
|
|
||||||
|
|
||||||
import (
|
|
||||||
"testing"
|
|
||||||
)
|
|
||||||
|
|
||||||
func TestBuildLogFormatUpstream(t *testing.T) {
|
|
||||||
|
|
||||||
testCases := []struct {
|
|
||||||
useProxyProtocol bool // use proxy protocol
|
|
||||||
curLogFormat string
|
|
||||||
expected string
|
|
||||||
}{
|
|
||||||
{true, "my-log-format", "my-log-format"},
|
|
||||||
{false, "john-log-format", "john-log-format"},
|
|
||||||
}
|
|
||||||
|
|
||||||
for _, testCase := range testCases {
|
|
||||||
cfg := NewDefault()
|
|
||||||
cfg.UseProxyProtocol = testCase.useProxyProtocol
|
|
||||||
cfg.LogFormatUpstream = testCase.curLogFormat
|
|
||||||
result := cfg.BuildLogFormatUpstream()
|
|
||||||
if result != testCase.expected {
|
|
||||||
t.Errorf(" expected %v but return %v", testCase.expected, result)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -151,7 +151,6 @@ var (
|
||||||
"buildUpstreamName": buildUpstreamName,
|
"buildUpstreamName": buildUpstreamName,
|
||||||
"isLocationInLocationList": isLocationInLocationList,
|
"isLocationInLocationList": isLocationInLocationList,
|
||||||
"isLocationAllowed": isLocationAllowed,
|
"isLocationAllowed": isLocationAllowed,
|
||||||
"buildLogFormatUpstream": buildLogFormatUpstream,
|
|
||||||
"buildDenyVariable": buildDenyVariable,
|
"buildDenyVariable": buildDenyVariable,
|
||||||
"getenv": os.Getenv,
|
"getenv": os.Getenv,
|
||||||
"contains": strings.Contains,
|
"contains": strings.Contains,
|
||||||
|
@ -462,16 +461,6 @@ func buildAuthResponseHeaders(headers []string) []string {
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
func buildLogFormatUpstream(input interface{}) string {
|
|
||||||
cfg, ok := input.(config.Configuration)
|
|
||||||
if !ok {
|
|
||||||
klog.Errorf("expected a 'config.Configuration' type but %T was returned", input)
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
return cfg.BuildLogFormatUpstream()
|
|
||||||
}
|
|
||||||
|
|
||||||
// buildProxyPass produces the proxy pass string, if the ingress has redirects
|
// buildProxyPass produces the proxy pass string, if the ingress has redirects
|
||||||
// (specified through the nginx.ingress.kubernetes.io/rewrite-target annotation)
|
// (specified through the nginx.ingress.kubernetes.io/rewrite-target annotation)
|
||||||
// If the annotation nginx.ingress.kubernetes.io/add-base-url:"true" is specified it will
|
// If the annotation nginx.ingress.kubernetes.io/add-base-url:"true" is specified it will
|
||||||
|
|
|
@ -267,7 +267,7 @@ http {
|
||||||
# $ingress_name
|
# $ingress_name
|
||||||
# $service_name
|
# $service_name
|
||||||
# $service_port
|
# $service_port
|
||||||
log_format upstreaminfo {{ if $cfg.LogFormatEscapeJSON }}escape=json {{ end }}'{{ buildLogFormatUpstream $cfg }}';
|
log_format upstreaminfo {{ if $cfg.LogFormatEscapeJSON }}escape=json {{ end }}'{{ $cfg.LogFormatUpstream }}';
|
||||||
|
|
||||||
{{/* map urls that should not appear in access.log */}}
|
{{/* map urls that should not appear in access.log */}}
|
||||||
{{/* http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log */}}
|
{{/* http://nginx.org/en/docs/http/ngx_http_log_module.html#access_log */}}
|
||||||
|
|
Loading…
Reference in a new issue