MINOR: config: add a new message directive: .diag

This one works just like .notice/.warning/.alert except that it prints
the message at level "DIAG" only when haproxy runs in diagnostic mode
(-dD). This can be convenient for example to pass a few hints to help
locate certain config parts or to leave messages about certain temporary
workarounds.

Example:

  .diag "WTA/2021-05-07: $.LINE: replace 'redirect' with 'return' after final switch to 2.4"
         http-request redirect location /goaway if ABUSE
This commit is contained in:
Willy Tarreau 2021-05-07 08:59:50 +02:00
parent 9f903af510
commit 7190b987ab
2 changed files with 10 additions and 2 deletions

View File

@ -853,8 +853,9 @@ Example:
profiling.memory on
.endif
Three other directives are provided to report some status:
Four other directives are provided to report some status:
- .diag "message" : emit this message only when in diagnostic mode (-dD)
- .notice "message" : emit this message at level NOTICE
- .warning "message" : emit this message at level WARNING
- .alert "message" : emit this message at level ALERT
@ -880,6 +881,9 @@ Example:
.notice "A=0"
.endif
.diag "WTA/2021-05-07: replace 'redirect' with 'return' after switch to 2.4"
http-request redirect location /goaway if ABUSE
2.5. Time format
----------------

View File

@ -2136,7 +2136,7 @@ next_line:
goto next_line;
}
/* .warning/.error/.notice */
/* .warning/.error/.notice/.diag */
if (*args[0] == '.') {
if (strcmp(args[0], ".alert") == 0) {
ha_alert("parsing [%s:%d]: '%s'.\n", file, linenum, args[1]);
@ -2152,6 +2152,10 @@ next_line:
ha_notice("parsing [%s:%d]: '%s'.\n", file, linenum, args[1]);
goto next_line;
}
else if (strcmp(args[0], ".diag") == 0) {
ha_diag_warning("parsing [%s:%d]: '%s'.\n", file, linenum, args[1]);
goto next_line;
}
else {
ha_alert("parsing [%s:%d]: unknown directive '%s'.\n", file, linenum, args[0]);
err_code |= ERR_ALERT | ERR_FATAL;