From: Aurelien DARRAGON Date: Wed, 31 Jul 2024 12:45:32 +0000 (+0200) Subject: MINOR: log: handle extra log origins in _process_send_log_override() X-Git-Tag: v3.1-dev9~49 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6567e3768013e3dc489ef9f311b9af999a884eda;p=thirdparty%2Fhaproxy.git MINOR: log: handle extra log origins in _process_send_log_override() Thanks to the previous commit, it is now possible to register additional log origins that may be used from log-profile section as 'on' steps. As such, let's make _process_send_log_override() function aware of them by trying to lookup in the tree of extra logging steps in the default switch-case catchall. If the log origin id matches with the id of the extra logging step, we use the associated log format instead of the "any" log format. --- diff --git a/src/log.c b/src/log.c index e98a8f7197..28c6e5c4d0 100644 --- a/src/log.c +++ b/src/log.c @@ -2932,7 +2932,18 @@ static inline void _process_send_log_override(struct process_send_log_ctx *ctx, step = prof->close; break; default: + { + struct log_profile_step_extra *extra; + + /* catchall for extra log origins */ + + /* check if there is a log step defined for this log origin */ + extra = container_of_safe(eb32_lookup(&prof->extra, orig), + struct log_profile_step_extra, node); + if (extra) + step = &extra->step; break; + } } if (!step && prof->any)