diff --git a/src/say.c b/src/say.c index 64a254fbeabaf61f6eba806c40c99d631e1ef554..06a49cdf7f4d623b1f5668ed6118930fc3012c75 100644 --- a/src/say.c +++ b/src/say.c @@ -45,7 +45,8 @@ int sayfd = STDERR_FILENO; pid_t logger_pid; static bool booting = true; static const char *binary_filename; -static int *log_level; +static int log_level_default = S_INFO; +static int *log_level = &log_level_default; static void sayf(int level, const char *filename, int line, const char *error, @@ -75,15 +76,15 @@ level_to_char(int level) } void -say_init(const char *argv0, int *level) +say_init(const char *argv0) { binary_filename = strdup(argv0); - log_level = level; } void -say_logger_init(char *logger, int nonblock) +say_logger_init(char *logger, int *level, int nonblock) { + log_level = level; int pipefd[2]; pid_t pid; char cmd[] = { "/bin/sh" }; diff --git a/src/say.h b/src/say.h index a9c8ab505069ef0e3aca84286ba79e20f58b7d4c..aa0a8eaefec439d8902210310651a61f909535cd 100644 --- a/src/say.h +++ b/src/say.h @@ -51,10 +51,10 @@ extern int sayfd; extern pid_t logger_pid; /** Basic init. */ -void say_init(const char *argv0, int *log_level); +void say_init(const char *argv0); /* Move logging to a separate process. */ -void say_logger_init(char *logger, int nonblock); +void say_logger_init(char *logger, int *log_level, int nonblock); void vsay(int level, const char *filename, int line, const char *error, const char *format, va_list ap) diff --git a/src/tarantool.cc b/src/tarantool.cc index 546a12e39e6db1c6cf05dc31033a0b73bbde6376..f52f6c74e4f427a5d5d6badab99662443a437c33 100644 --- a/src/tarantool.cc +++ b/src/tarantool.cc @@ -593,6 +593,7 @@ main(int argc, char **argv) __libc_stack_end = (void*) &argv; #endif + say_init(argv[0]); crc32_init(); stat_init(); memory_init(); @@ -607,7 +608,6 @@ main(int argc, char **argv) void *opt = gopt_sort(&argc, (const char **)argv, opt_def); main_opt = opt; - say_init(argv[0], &cfg.log_level); if (gopt(opt, 'V')) { printf("Tarantool %s\n", tarantool_version()); @@ -769,7 +769,7 @@ main(int argc, char **argv) strcat(custom_proc_title, cfg.custom_proc_title); } - say_logger_init(cfg.logger, cfg.logger_nonblock); + say_logger_init(cfg.logger, &cfg.log_level, cfg.logger_nonblock); /* main core cleanup routine */ atexit(tarantool_free);