The option does not seem to have any effect since at least haproxy
1.3. Also the `log-format` directive already warns when being used
in a backend.
---
doc/configuration.txt | 8 ++------
src/cfgparse.c | 12 ++++++++++++
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/doc/configuration.txt b/doc/configuration.txt
index 89421dbbc..ed242faa9 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -6071,7 +6071,7 @@ no option httpclose
option httplog [ clf ]
Enable logging of HTTP request, session state and timers
May be used in sections : defaults | frontend | listen | backend
- yes | yes | yes | yes
+ yes | yes | yes | no
Arguments :
clf if the "clf" argument is added, then the output format will be
the CLF format instead of HAProxy's default HTTP format. You can
@@ -6087,8 +6087,6 @@ option httplog [ clf ]
frontend, backend and server name, and of course the source address and
ports.
- This option may be set either in the frontend or the backend.
-
Specifying only "option httplog" will automatically clear the 'clf' mode
if it was set by default.
@@ -6938,7 +6936,7 @@ option tcpka
option tcplog
Enable advanced logging of TCP connections with session state and timers
May be used in sections : defaults | frontend | listen | backend
- yes | yes | yes | yes
+ yes | yes | yes | no
Arguments : none
By default, the log output format is very poor, as it only contains the
@@ -6950,8 +6948,6 @@ option tcplog
find which of the client or server disconnects or times out. For normal HTTP
proxies, it's better to use "option httplog" which is even more complete.
- This option may be set either in the frontend or the backend.
-
"option tcplog" overrides any previous "log-format" directive.
See also : "option httplog", and section 8 about logging.
diff --git a/src/cfgparse.c b/src/cfgparse.c
index 2e10e3537..0e5354c44 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -4827,6 +4827,12 @@ stats_error_parsing:
free(curproxy->conf.lfs_file);
curproxy->conf.lfs_file =
strdup(curproxy->conf.args.file);
curproxy->conf.lfs_line = curproxy->conf.args.line;
+
+ if (curproxy != &defproxy && !(curproxy->cap &
PR_CAP_FE)) {
+ ha_warning("parsing [%s:%d] : backend '%s' :
'option httplog' directive is ignored in backends.\n",
+ file, linenum, curproxy->id);
+ err_code |= ERR_WARN;
+ }
}
else if (!strcmp(args[1], "tcplog")) {
if (curproxy->conf.logformat_string && curproxy ==
&defproxy) {
@@ -4854,6 +4860,12 @@ stats_error_parsing:
if (alertif_too_many_args_idx(0, 1, file, linenum,
args, &err_code))
goto out;
+
+ if (curproxy != &defproxy && !(curproxy->cap &
PR_CAP_FE)) {
+ ha_warning("parsing [%s:%d] : backend '%s' :
'option tcplog' directive is ignored in backends.\n",
+ file, linenum, curproxy->id);
+ err_code |= ERR_WARN;
+ }
}
else if (!strcmp(args[1], "tcpka")) {
/* enable TCP keep-alives on client and server streams
*/
--
2.16.1