Merge pull request #367 from gianrubio/customize-logformat
BuildLogFormatUpstream was always using the default log-format
This commit is contained in:
commit
3b2f668f39
3 changed files with 16 additions and 6 deletions
|
@ -264,7 +264,7 @@ func NewDefault() Configuration {
|
|||
KeepAlive: 75,
|
||||
LargeClientHeaderBuffers: "4 8k",
|
||||
LogFormatStream: logFormatStream,
|
||||
LogFormatUpstream: BuildLogFormatUpstream(false),
|
||||
LogFormatUpstream: BuildLogFormatUpstream(false, ""),
|
||||
MaxWorkerConnections: 16384,
|
||||
MapHashBucketSize: 64,
|
||||
ProxyRealIPCIDR: defIPCIDR,
|
||||
|
@ -308,7 +308,14 @@ func NewDefault() Configuration {
|
|||
}
|
||||
|
||||
// BuildLogFormatUpstream format the log_format upstream based on proxy_protocol
|
||||
func BuildLogFormatUpstream(useProxyProtocol bool) string {
|
||||
func BuildLogFormatUpstream(useProxyProtocol bool, curLogFormatUpstream string) string {
|
||||
|
||||
// test if log_format comes from configmap
|
||||
if curLogFormatUpstream != "" &&
|
||||
curLogFormatUpstream != fmt.Sprintf(logFormatUpstream, "$proxy_protocol_addr") &&
|
||||
curLogFormatUpstream != fmt.Sprintf(logFormatUpstream, "$remote_addr") {
|
||||
return curLogFormatUpstream
|
||||
}
|
||||
|
||||
if useProxyProtocol {
|
||||
return fmt.Sprintf(logFormatUpstream, "$proxy_protocol_addr")
|
||||
|
|
|
@ -9,15 +9,18 @@ func TestBuildLogFormatUpstream(t *testing.T) {
|
|||
|
||||
testCases := []struct {
|
||||
useProxyProtocol bool // use proxy protocol
|
||||
curLogFormat string
|
||||
expected string
|
||||
}{
|
||||
{true, fmt.Sprintf(logFormatUpstream, "$proxy_protocol_addr")},
|
||||
{false, fmt.Sprintf(logFormatUpstream, "$remote_addr")},
|
||||
{true, "", fmt.Sprintf(logFormatUpstream, "$proxy_protocol_addr")},
|
||||
{false, "", fmt.Sprintf(logFormatUpstream, "$remote_addr")},
|
||||
{true, "my-log-format", "my-log-format"},
|
||||
{false, "john-log-format", "john-log-format"},
|
||||
}
|
||||
|
||||
for _, testCase := range testCases {
|
||||
|
||||
result := BuildLogFormatUpstream(testCase.useProxyProtocol)
|
||||
result := BuildLogFormatUpstream(testCase.useProxyProtocol, testCase.curLogFormat)
|
||||
|
||||
if result != testCase.expected {
|
||||
t.Errorf(" expected %v but return %v", testCase.expected, result)
|
||||
|
|
|
@ -235,7 +235,7 @@ func buildLogFormatUpstream(input interface{}) string {
|
|||
glog.Errorf("error an ingress.buildLogFormatUpstream type but %T was returned", input)
|
||||
}
|
||||
|
||||
return nginxconfig.BuildLogFormatUpstream(config.UseProxyProtocol)
|
||||
return nginxconfig.BuildLogFormatUpstream(config.UseProxyProtocol, config.LogFormatUpstream)
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue