Commit 8338cbc4 authored by Andrei Vagin's avatar Andrei Vagin

criu: initialize logging for libraries from log_set_loglevel()

We have three code paths, where we call log_set_loglevel() and in all
these places, we need to initialize libraries logging engines, so it is
better to do this from one function. For example, currently we forgot to
initialize soccr logging for criu swrk.
Reviewed-by: 's avatarDmitry Safonov <0x7f454c46@gmail.com>
Acked-by: 's avatarAdrian Reber <areber@redhat.com>
Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
parent 17e80025
...@@ -57,8 +57,6 @@ ...@@ -57,8 +57,6 @@
#include "setproctitle.h" #include "setproctitle.h"
#include "sysctl.h" #include "sysctl.h"
#include "../soccr/soccr.h"
struct cr_options opts; struct cr_options opts;
void init_opts(void) void init_opts(void)
...@@ -213,28 +211,6 @@ bool deprecated_ok(char *what) ...@@ -213,28 +211,6 @@ bool deprecated_ok(char *what)
return false; return false;
} }
static void soccr_print_on_level(unsigned int loglevel, const char *format, ...)
{
va_list args;
int lv;
switch (loglevel) {
case SOCCR_LOG_DBG:
lv = LOG_DEBUG;
break;
case SOCCR_LOG_ERR:
lv = LOG_ERROR;
break;
default:
lv = LOG_INFO;
break;
}
va_start(args, format);
vprint_on_level(lv, format, args);
va_end(args);
}
static void rlimit_unlimit_nofile_self(void) static void rlimit_unlimit_nofile_self(void)
{ {
struct rlimit new; struct rlimit new;
...@@ -750,8 +726,6 @@ int main(int argc, char *argv[], char *envp[]) ...@@ -750,8 +726,6 @@ int main(int argc, char *argv[], char *envp[])
if (log_init(opts.output)) if (log_init(opts.output))
return 1; return 1;
libsoccr_set_log(log_level, soccr_print_on_level);
compel_log_init(vprint_on_level, log_get_loglevel());
print_versions(); print_versions();
......
...@@ -20,6 +20,9 @@ ...@@ -20,6 +20,9 @@
#include "rst-malloc.h" #include "rst-malloc.h"
#include "common/lock.h" #include "common/lock.h"
#include "string.h" #include "string.h"
#include "../soccr/soccr.h"
#include "compel/log.h"
#define DEFAULT_LOGFD STDERR_FILENO #define DEFAULT_LOGFD STDERR_FILENO
/* Enable timestamps if verbosity is increased from default */ /* Enable timestamps if verbosity is increased from default */
...@@ -199,9 +202,34 @@ void log_fini(void) ...@@ -199,9 +202,34 @@ void log_fini(void)
close_service_fd(LOG_FD_OFF); close_service_fd(LOG_FD_OFF);
} }
static void soccr_print_on_level(unsigned int loglevel, const char *format, ...)
{
va_list args;
int lv;
switch (loglevel) {
case SOCCR_LOG_DBG:
lv = LOG_DEBUG;
break;
case SOCCR_LOG_ERR:
lv = LOG_ERROR;
break;
default:
lv = LOG_INFO;
break;
}
va_start(args, format);
vprint_on_level(lv, format, args);
va_end(args);
}
void log_set_loglevel(unsigned int level) void log_set_loglevel(unsigned int level)
{ {
current_loglevel = level; current_loglevel = level;
libsoccr_set_log(level, soccr_print_on_level);
compel_log_init(vprint_on_level, level);
} }
unsigned int log_get_loglevel(void) unsigned int log_get_loglevel(void)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment