mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-04-19 13:35:47 +00:00
MINOR: http/conf: store the use_backend configuration file and line for logs
The error log of the directive use_backend doesn't provide the file and line containing the declaration. This patch stores theses informations.
This commit is contained in:
parent
5948b01149
commit
4ed1c9585d
@ -77,6 +77,7 @@ enum {
|
||||
ARGC_CAP, /* capture rule */
|
||||
ARGC_SRV, /* server line */
|
||||
ARGC_SPOE, /* spoe message args */
|
||||
ARGC_UBK, /* use_backend message */
|
||||
};
|
||||
|
||||
/* flags used when compiling and executing regex */
|
||||
|
@ -446,6 +446,8 @@ struct switching_rule {
|
||||
char *name; /* target backend name during config parsing */
|
||||
struct list expr; /* logformat expression to use for dynamic rules */
|
||||
} be;
|
||||
char *file;
|
||||
int line;
|
||||
};
|
||||
|
||||
struct server_rule {
|
||||
|
@ -4018,6 +4018,12 @@ int cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
|
||||
}
|
||||
rule->cond = cond;
|
||||
rule->be.name = strdup(args[1]);
|
||||
rule->line = linenum;
|
||||
rule->file = strdup(file);
|
||||
if (!rule->file) {
|
||||
Alert("Out of memory error.\n");
|
||||
goto out;
|
||||
}
|
||||
LIST_INIT(&rule->list);
|
||||
LIST_ADDQ(&curproxy->switching_rules, &rule->list);
|
||||
}
|
||||
@ -7792,6 +7798,9 @@ int check_config_validity()
|
||||
*/
|
||||
pxname = rule->be.name;
|
||||
LIST_INIT(&rule->be.expr);
|
||||
curproxy->conf.args.ctx = ARGC_UBK;
|
||||
curproxy->conf.args.file = rule->file;
|
||||
curproxy->conf.args.line = rule->line;
|
||||
if (!parse_logformat_string(pxname, curproxy, &rule->be.expr, 0, SMP_VAL_FE_HRQ_HDR)) {
|
||||
cfgerr++;
|
||||
continue;
|
||||
|
@ -1482,6 +1482,7 @@ void deinit(void)
|
||||
if (rule->cond) {
|
||||
prune_acl_cond(rule->cond);
|
||||
free(rule->cond);
|
||||
free(rule->file);
|
||||
}
|
||||
free(rule);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user