From 569ecdbd02a3bdf8589f785cca022240973dea4d Mon Sep 17 00:00:00 2001 From: Frederik Ring Date: Mon, 2 Aug 2021 22:15:27 +0200 Subject: httpcaddyfile: Ensure hosts to skip for logs can always be collected (#4258) * httpcaddyfile: ensure hosts to skip can always be collected Previously, some hosts that should be skipped in logging would be missed as the current logic would only collect them after encountering the first server that would log. This change makes sure the ServerLogConfig is initialized before iterating over the server blocks. * httpcaddyfile: add test case for skip hosts behavior --- .../integration/caddyfile_adapt/log_skip_hosts.txt | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 caddytest/integration/caddyfile_adapt/log_skip_hosts.txt (limited to 'caddytest') diff --git a/caddytest/integration/caddyfile_adapt/log_skip_hosts.txt b/caddytest/integration/caddyfile_adapt/log_skip_hosts.txt new file mode 100644 index 0000000..6fbd85a --- /dev/null +++ b/caddytest/integration/caddyfile_adapt/log_skip_hosts.txt @@ -0,0 +1,75 @@ +one.example.com { + log +} + +two.example.com { +} + +three.example.com { +} + +example.com { +} +---------- +{ + "apps": { + "http": { + "servers": { + "srv0": { + "listen": [ + ":443" + ], + "routes": [ + { + "match": [ + { + "host": [ + "three.example.com" + ] + } + ], + "terminal": true + }, + { + "match": [ + { + "host": [ + "one.example.com" + ] + } + ], + "terminal": true + }, + { + "match": [ + { + "host": [ + "two.example.com" + ] + } + ], + "terminal": true + }, + { + "match": [ + { + "host": [ + "example.com" + ] + } + ], + "terminal": true + } + ], + "logs": { + "skip_hosts": [ + "three.example.com", + "two.example.com", + "example.com" + ] + } + } + } + } + } +} -- cgit v1.2.3