From 37de553f1d0cfd58cc3b6d5576c5b6788c8fc347 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 14 Oct 2021 11:55:48 +0200 Subject: [PATCH] MINOR: protocol: report the file and line number for binding/listening errors Binding errors and late socket errors provide no information about the file and line where the problem occurs. These are all done by protocol_bind_all() and they only report "Starting proxy blah". Let's change this a little bit so that: - the file name and line number of the faulty bind line is alwas mentioned - early binding errors are indicated with "Binding" instead of "Starting". Now we can for example have this: [WARNING] (18580) : Binding [binderr.cfg:10] for proxy http: cannot bind receiver to device 'eth2' (No such device) [0.0.0.0:1080] --- src/protocol.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/protocol.c b/src/protocol.c index ece2b5b8f..b33e49463 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -81,10 +81,12 @@ int protocol_bind_all(int verbose) struct proxy *px = listener->bind_conf->frontend; if (lerr & ERR_ALERT) - ha_alert("Starting %s %s: %s\n", + ha_alert("Binding [%s:%d] for %s %s: %s\n", + listener->bind_conf->file, listener->bind_conf->line, proxy_type_str(px), px->id, errmsg); else if (lerr & ERR_WARN) - ha_warning("Starting %s %s: %s\n", + ha_warning("Binding [%s:%d] for %s %s: %s\n", + listener->bind_conf->file, listener->bind_conf->line, proxy_type_str(px), px->id, errmsg); ha_free(&errmsg); } @@ -103,10 +105,12 @@ int protocol_bind_all(int verbose) struct proxy *px = listener->bind_conf->frontend; if (lerr & ERR_ALERT) - ha_alert("Starting %s %s: %s\n", + ha_alert("Starting [%s:%d] for %s %s: %s\n", + listener->bind_conf->file, listener->bind_conf->line, proxy_type_str(px), px->id, msg); else if (lerr & ERR_WARN) - ha_warning("Starting %s %s: %s\n", + ha_warning("Starting [%s:%d] for %s %s: %s\n", + listener->bind_conf->file, listener->bind_conf->line, proxy_type_str(px), px->id, msg); } if (lerr & ERR_ABORT)