MINOR: flt-trace: Add an option to inhibits trace messages
The 'quiet' option may be set to inibits the trace messages. The trace filter is
a bit verbose. This option may be used to not display the messages.
diff --git a/doc/configuration.txt b/doc/configuration.txt
index 3ae4d5c..1d077fc 100644
--- a/doc/configuration.txt
+++ b/doc/configuration.txt
@@ -20272,6 +20272,7 @@
<name> is an arbitrary name that will be reported in
messages. If no name is provided, "TRACE" is used.
+ <quiet> inhibits trace messages.
<random-forwarding> enables the random forwarding of parsed data. By
default, this filter forwards all previously parsed
diff --git a/src/flt_trace.c b/src/flt_trace.c
index 4b27cd5..dd93ed4 100644
--- a/src/flt_trace.c
+++ b/src/flt_trace.c
@@ -32,21 +32,28 @@
struct trace_config {
struct proxy *proxy;
char *name;
+ int quiet;
int rand_forwarding;
int hexdump;
};
#define FLT_TRACE(conf, fmt, ...) \
- fprintf(stderr, "%d.%06d [%-20s] " fmt "\n", \
- (int)now.tv_sec, (int)now.tv_usec, (conf)->name, \
- ##__VA_ARGS__)
+ do { \
+ if (!(conf->quiet)) \
+ fprintf(stderr, "%d.%06d [%-20s] " fmt "\n", \
+ (int)now.tv_sec, (int)now.tv_usec, (conf)->name,\
+ ##__VA_ARGS__); \
+ } while (0)
-#define FLT_STRM_TRACE(conf, strm, fmt, ...) \
- fprintf(stderr, "%d.%06d [%-20s] [strm %p(%x) 0x%08x 0x%08x] " fmt "\n", \
- (int)now.tv_sec, (int)now.tv_usec, (conf)->name, \
- strm, (strm ? ((struct stream *)strm)->uniq_id : ~0U), \
- (strm ? strm->req.analysers : 0), (strm ? strm->res.analysers : 0), \
- ##__VA_ARGS__)
+#define FLT_STRM_TRACE(conf, strm, fmt, ...) \
+ do { \
+ if (!(conf->quiet)) \
+ fprintf(stderr, "%d.%06d [%-20s] [strm %p(%x) 0x%08x 0x%08x] " fmt "\n", \
+ (int)now.tv_sec, (int)now.tv_usec, (conf)->name, \
+ strm, (strm ? ((struct stream *)strm)->uniq_id : ~0U), \
+ (strm ? strm->req.analysers : 0), (strm ? strm->res.analysers : 0), \
+ ##__VA_ARGS__); \
+ } while (0)
static const char *
@@ -187,9 +194,10 @@
fconf->flags |= FLT_CFG_FL_HTX;
fconf->conf = conf;
- FLT_TRACE(conf, "filter initialized [fwd random=%s - hexdump=%s]",
- (conf->rand_forwarding ? "true" : "false"),
- (conf->hexdump ? "true" : "false"));
+ FLT_TRACE(conf, "filter initialized [quiet=%s - fwd random=%s - hexdump=%s]",
+ (conf->quiet ? "true" : "false"),
+ (conf->rand_forwarding ? "true" : "false"),
+ (conf->hexdump ? "true" : "false"));
return 0;
}
@@ -630,6 +638,8 @@
}
pos++;
}
+ else if (!strcmp(args[pos], "quiet"))
+ conf->quiet = 1;
else if (!strcmp(args[pos], "random-parsing"))
continue; // ignore
else if (!strcmp(args[pos], "random-forwarding"))