]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: config parsing: add warning when log-format/tcplog/httplog is overriden in...
authorGuillaume de Lafond <gdelafond@aquaray.com>
Fri, 31 Mar 2017 17:54:09 +0000 (19:54 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 31 Mar 2017 19:10:18 +0000 (21:10 +0200)
Add a warning when "log-format" or "tcplog" or "httplog" is overriden in "defaults" sections.

src/cfgparse.c

index b03a8214d2de333395892f316ca506aaceec4e1a..e1b6b3ebabc32b8e097ad69a249350312a9b9847 100644 (file)
@@ -4609,6 +4609,21 @@ stats_error_parsing:
                                if (alertif_too_many_args_idx(1, 1, file, linenum, args, &err_code))
                                        goto out;
                        }
+                       if (curproxy->conf.logformat_string && curproxy == &defproxy) {
+                               char *oldlogformat = "log-format";
+                               char *clflogformat = "";
+
+                               if (curproxy->conf.logformat_string == default_http_log_format)
+                                       oldlogformat = "option httplog";
+                               else if (curproxy->conf.logformat_string == default_tcp_log_format)
+                                       oldlogformat = "option tcplog";
+                               else if (curproxy->conf.logformat_string == clf_http_log_format)
+                                       oldlogformat = "option httplog clf";
+                               if (logformat == clf_http_log_format)
+                                       clflogformat = " clf";
+                               Warning("parsing [%s:%d]: 'option httplog%s' overrides previous '%s' in 'defaults' section.\n",
+                                       file, linenum, clflogformat, oldlogformat);
+                       }
                        if (curproxy->conf.logformat_string != default_http_log_format &&
                            curproxy->conf.logformat_string != default_tcp_log_format &&
                            curproxy->conf.logformat_string != clf_http_log_format)
@@ -4620,6 +4635,18 @@ stats_error_parsing:
                        curproxy->conf.lfs_line = curproxy->conf.args.line;
                }
                else if (!strcmp(args[1], "tcplog")) {
+                       if (curproxy->conf.logformat_string && curproxy == &defproxy) {
+                               char *oldlogformat = "log-format";
+
+                               if (curproxy->conf.logformat_string == default_http_log_format)
+                                       oldlogformat = "option httplog";
+                               else if (curproxy->conf.logformat_string == default_tcp_log_format)
+                                       oldlogformat = "option tcplog";
+                               else if (curproxy->conf.logformat_string == clf_http_log_format)
+                                       oldlogformat = "option httplog clf";
+                               Warning("parsing [%s:%d]: 'option tcplog' overrides previous '%s' in 'defaults' section.\n",
+                                       file, linenum, oldlogformat);
+                       }
                        /* generate a detailed TCP log */
                        if (curproxy->conf.logformat_string != default_http_log_format &&
                            curproxy->conf.logformat_string != default_tcp_log_format &&
@@ -5863,7 +5890,18 @@ stats_error_parsing:
                        err_code |= ERR_ALERT | ERR_FATAL;
                        goto out;
                }
+               if (curproxy->conf.logformat_string && curproxy == &defproxy) {
+                       char *oldlogformat = "log-format";
 
+                       if (curproxy->conf.logformat_string == default_http_log_format)
+                               oldlogformat = "option httplog";
+                       else if (curproxy->conf.logformat_string == default_tcp_log_format)
+                               oldlogformat = "option tcplog";
+                       else if (curproxy->conf.logformat_string == clf_http_log_format)
+                               oldlogformat = "option httplog clf";
+                       Warning("parsing [%s:%d]: 'log-format' overrides previous '%s' in 'defaults' section.\n",
+                               file, linenum, oldlogformat);
+               }
                if (curproxy->conf.logformat_string != default_http_log_format &&
                    curproxy->conf.logformat_string != default_tcp_log_format &&
                    curproxy->conf.logformat_string != clf_http_log_format)