diff --git a/include/fluent-bit/flb_config.h b/include/fluent-bit/flb_config.h index a27ec0c9eb9..ff20eeec7eb 100644 --- a/include/fluent-bit/flb_config.h +++ b/include/fluent-bit/flb_config.h @@ -78,8 +78,9 @@ struct flb_config { int daemon; /* Run as a daemon ? */ flb_pipefd_t shutdown_fd; /* Shutdown FD, 5 seconds */ - int verbose; /* Verbose mode (default OFF) */ - time_t init_time; /* Time when Fluent Bit started */ + int verbose; /* Verbose mode (default OFF) */ + int banner; /* Print version banner (default ON) */ + time_t init_time; /* Time when Fluent Bit started */ /* Used in library mode */ pthread_t worker; /* worker tid */ diff --git a/src/flb_config.c b/src/flb_config.c index 876e56bf072..7c037660d16 100644 --- a/src/flb_config.c +++ b/src/flb_config.c @@ -274,6 +274,7 @@ struct flb_config *flb_config_init() config->init_time = time(NULL); config->kernel = flb_kernel_info(); config->verbose = 3; + config->banner = FLB_TRUE; config->grace = 5; config->grace_count = 0; config->grace_input = config->grace / 2; diff --git a/src/fluent-bit.c b/src/fluent-bit.c index be5685a1b9e..d2651d20794 100644 --- a/src/fluent-bit.c +++ b/src/fluent-bit.c @@ -170,6 +170,7 @@ static void flb_help(int rc, struct flb_config *config) print_opt_i("-s, --coro_stack_size", "set coroutines stack size in bytes", config->coro_stack_size); print_opt("-q, --quiet", "quiet mode"); + print_opt("-B, --no-banner", "Disable printing of version banner"); print_opt("-S, --sosreport", "support report for Enterprise customers"); print_opt("-Y, --enable-hot-reload", "enable for hot reloading"); print_opt("-W, --disable-thread-safety-on-hot-reloading", "disable thread safety on hot reloading"); @@ -1068,6 +1069,7 @@ static int flb_main_run(int argc, char **argv) { "verbose", no_argument , NULL, 'v' }, { "workdir", required_argument, NULL, 'w' }, { "quiet", no_argument , NULL, 'q' }, + { "no-banner", no_argument , NULL, 'B' }, { "help", no_argument , NULL, 'h' }, { "help-json", no_argument , NULL, 'J' }, { "coro_stack_size", required_argument, NULL, 's' }, @@ -1125,7 +1127,7 @@ static int flb_main_run(int argc, char **argv) /* Parse the command line options */ while ((opt = getopt_long(argc, argv, "b:c:dDf:C:i:m:M:o:R:r:F:p:e:" - "t:T:l:vw:qVhJL:HP:s:SWYZ", + "t:T:l:vBw:qVhJL:HP:s:SWYZ", long_opts, NULL)) != -1) { switch (opt) { @@ -1284,6 +1286,9 @@ static int flb_main_run(int argc, char **argv) case 'v': config->verbose++; break; + case 'B': + config->banner = FLB_FALSE; + break; case 'w': config->workdir = flb_strdup(optarg); break; @@ -1341,7 +1346,8 @@ static int flb_main_run(int argc, char **argv) set_log_level_from_env(config); - if (config->verbose != FLB_LOG_OFF) { + /* Show banner only if the configuration explicitly says so */ + if (config->verbose != FLB_LOG_OFF && config->banner == FLB_TRUE) { flb_version_banner(); }