[lxc-devel] [lxc/master] API: expose funciton lxc_log_init

0x0916 on Github lxc-bot at linuxcontainers.org
Mon Jun 5 06:34:22 UTC 2017


A non-text attachment was scrubbed...
Name: not available
Type: text/x-mailbox
Size: 439 bytes
Desc: not available
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20170605/74197a89/attachment.bin>
-------------- next part --------------
From 00fabf417da1b650bc706b1ae42a58da7623525b Mon Sep 17 00:00:00 2001
From: 0x0916 <w at laoqinren.net>
Date: Mon, 5 Jun 2017 14:31:03 +0800
Subject: [PATCH] API: expose funciton lxc_log_init

Signed-off-by: 0x0916 <w at laoqinren.net>
---
 src/lxc/log.c                  | 41 ++++++++++++++++++++---------------------
 src/lxc/log.h                  |  4 ----
 src/lxc/lxc_monitord.c         | 10 +++++++++-
 src/lxc/lxccontainer.h         | 16 ++++++++++++++++
 src/lxc/tools/lxc_attach.c     | 10 ++++++++--
 src/lxc/tools/lxc_autostart.c  | 11 +++++++++--
 src/lxc/tools/lxc_cgroup.c     | 11 +++++++++--
 src/lxc/tools/lxc_checkpoint.c | 11 +++++++++--
 src/lxc/tools/lxc_console.c    | 11 +++++++++--
 src/lxc/tools/lxc_copy.c       | 11 +++++++++--
 src/lxc/tools/lxc_create.c     | 11 +++++++++--
 src/lxc/tools/lxc_destroy.c    | 11 +++++++++--
 src/lxc/tools/lxc_device.c     | 11 +++++++++--
 src/lxc/tools/lxc_execute.c    | 12 ++++++++++--
 src/lxc/tools/lxc_freeze.c     | 11 +++++++++--
 src/lxc/tools/lxc_info.c       | 11 +++++++++--
 src/lxc/tools/lxc_init.c       | 14 +++++++++++---
 src/lxc/tools/lxc_ls.c         | 11 +++++++++--
 src/lxc/tools/lxc_monitor.c    | 12 ++++++++++--
 src/lxc/tools/lxc_snapshot.c   | 11 +++++++++--
 src/lxc/tools/lxc_start.c      | 11 +++++++++--
 src/lxc/tools/lxc_stop.c       | 11 +++++++++--
 src/lxc/tools/lxc_unfreeze.c   | 12 ++++++++++--
 src/lxc/tools/lxc_wait.c       | 11 +++++++++--
 24 files changed, 229 insertions(+), 67 deletions(-)

diff --git a/src/lxc/log.c b/src/lxc/log.c
index 339b81c61..2031961c4 100644
--- a/src/lxc/log.c
+++ b/src/lxc/log.c
@@ -44,6 +44,7 @@
 #include "log.h"
 #include "caps.h"
 #include "utils.h"
+#include "lxccontainer.h"
 
 /* We're logging in seconds and nanoseconds. Assuming that the underlying
  * datatype is currently at maximum a 64bit integer, we have a date string that
@@ -543,9 +544,7 @@ extern void lxc_log_enable_syslog(void)
  * Called from lxc front-end programs (like lxc-create, lxc-start) to
  * initalize the log defaults.
  */
-extern int lxc_log_init(const char *name, const char *file,
-			const char *priority, const char *prefix, int quiet,
-			const char *lxcpath)
+extern int lxc_log_init(struct lxc_log_conf log)
 {
 	int lxc_priority = LXC_LOG_PRIORITY_ERROR;
 	int ret;
@@ -555,8 +554,8 @@ extern int lxc_log_init(const char *name, const char *file,
 		return 0;
 	}
 
-	if (priority)
-		lxc_priority = lxc_log_priority_to_int(priority);
+	if (log.priority)
+		lxc_priority = lxc_log_priority_to_int(log.priority);
 
 	if (!lxc_loglevel_specified) {
 		lxc_log_category_lxc.priority = lxc_priority;
@@ -564,49 +563,49 @@ extern int lxc_log_init(const char *name, const char *file,
 	}
 
 	if (!lxc_quiet_specified) {
-		if (!quiet)
+		if (!log.quiet)
 			lxc_log_category_lxc.appender->next = &log_appender_stderr;
 	}
 
-	if (prefix)
-		lxc_log_set_prefix(prefix);
+	if (log.prefix)
+		lxc_log_set_prefix(log.prefix);
 
-	if (name)
-		log_vmname = strdup(name);
+	if (log.name)
+		log_vmname = strdup(log.name);
 
-	if (file) {
-		if (strcmp(file, "none") == 0)
+	if (log.file) {
+		if (strcmp(log.file, "none") == 0)
 			return 0;
-		ret = __lxc_log_set_file(file, 1);
+		ret = __lxc_log_set_file(log.file, 1);
 		lxc_log_use_global_fd = 1;
 	} else {
 		/* if no name was specified, there nothing to do */
-		if (!name)
+		if (!log.name)
 			return 0;
 
 		ret = -1;
 
-		if (!lxcpath)
-			lxcpath = LOGPATH;
+		if (!log.lxcpath)
+			log.lxcpath = LOGPATH;
 
 		/* try LOGPATH if lxcpath is the default for the privileged containers */
-		if (!geteuid() && strcmp(LXCPATH, lxcpath) == 0)
-			ret = _lxc_log_set_file(name, NULL, 0);
+		if (!geteuid() && strcmp(LXCPATH, log.lxcpath) == 0)
+			ret = _lxc_log_set_file(log.name, NULL, 0);
 
 		/* try in lxcpath */
 		if (ret < 0)
-			ret = _lxc_log_set_file(name, lxcpath, 1);
+			ret = _lxc_log_set_file(log.name, log.lxcpath, 1);
 
 		/* try LOGPATH in case its writable by the caller */
 		if (ret < 0)
-			ret = _lxc_log_set_file(name, NULL, 0);
+			ret = _lxc_log_set_file(log.name, NULL, 0);
 	}
 
 	/*
 	 * If !file, that is, if the user did not request this logpath, then
 	 * ignore failures and continue logging to console
 	 */
-	if (!file && ret != 0) {
+	if (!log.file && ret != 0) {
 		INFO("Ignoring failure to open default logfile.");
 		ret = 0;
 	}
diff --git a/src/lxc/log.h b/src/lxc/log.h
index b9ee49756..8a68c8506 100644
--- a/src/lxc/log.h
+++ b/src/lxc/log.h
@@ -348,10 +348,6 @@ ATTR_UNUSED static inline void LXC_##PRIORITY(struct lxc_log_locinfo* locinfo,	\
 
 extern int lxc_log_fd;
 
-extern int lxc_log_init(const char *name, const char *file,
-			const char *priority, const char *prefix, int quiet,
-			const char *lxcpath);
-
 extern int lxc_log_set_file(int *fd, const char *fname);
 extern int lxc_log_syslog(int facility);
 extern void lxc_log_enable_syslog(void);
diff --git a/src/lxc/lxc_monitord.c b/src/lxc/lxc_monitord.c
index 62e212112..8b770af21 100644
--- a/src/lxc/lxc_monitord.c
+++ b/src/lxc/lxc_monitord.c
@@ -44,6 +44,7 @@
 #include "mainloop.h"
 #include "monitor.h"
 #include "utils.h"
+#include "lxccontainer.h"
 
 #define CLIENTFDS_CHUNK 64
 
@@ -350,6 +351,7 @@ int main(int argc, char *argv[])
 	char *lxcpath = argv[1];
 	bool mainloop_opened = false;
 	bool monitord_created = false;
+	struct lxc_log_conf log;
 
 	if (argc != 3) {
 		fprintf(stderr,
@@ -364,7 +366,13 @@ int main(int argc, char *argv[])
 	if (ret < 0 || ret >= sizeof(logpath))
 		exit(EXIT_FAILURE);
 
-	ret = lxc_log_init(NULL, logpath, "DEBUG", "lxc-monitord", 0, lxcpath);
+	log.name = NULL;
+	log.file = logpath;
+	log.priority = "DEBUG";
+	log.prefix = "lxc-monitord";
+	log.quiet = 0;
+	log.lxcpath = lxcpath;
+	ret = lxc_log_init(log);
 	if (ret)
 		INFO("Failed to open log file %s, log will be lost.", lxcpath);
 	lxc_log_options_no_override();
diff --git a/src/lxc/lxccontainer.h b/src/lxc/lxccontainer.h
index 57301e658..d6a4f7170 100644
--- a/src/lxc/lxccontainer.h
+++ b/src/lxc/lxccontainer.h
@@ -1017,6 +1017,22 @@ int list_active_containers(const char *lxcpath, char ***names, struct lxc_contai
  */
 int list_all_containers(const char *lxcpath, char ***names, struct lxc_container ***cret);
 
+struct lxc_log_conf {
+	const char *name;
+	char *file;
+	char *priority;
+	const char *prefix;
+	int quiet;
+	const char *lxcpath;
+};
+
+/*!
+ *\brief Initialize the log
+ *
+ *\param log lxc log configuration.
+ */
+int lxc_log_init(struct lxc_log_conf log);
+
 /*!
  * \brief Close log file.
  */
diff --git a/src/lxc/tools/lxc_attach.c b/src/lxc/tools/lxc_attach.c
index d35ec88c1..bd8b6debd 100644
--- a/src/lxc/tools/lxc_attach.c
+++ b/src/lxc/tools/lxc_attach.c
@@ -371,6 +371,7 @@ int main(int argc, char *argv[])
 {
 	int ret = -1, r;
 	int wexit = 0;
+	struct lxc_log_conf log;
 	pid_t pid;
 	lxc_attach_options_t attach_options = LXC_ATTACH_OPTIONS_DEFAULT;
 	lxc_attach_command_t command = (lxc_attach_command_t){.program = NULL};
@@ -386,8 +387,13 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	r = lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			   my_args.progname, my_args.quiet, my_args.lxcpath[0]);
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+	r = lxc_log_init(log);
 	if (r)
 		exit(EXIT_FAILURE);
 	lxc_log_options_no_override();
diff --git a/src/lxc/tools/lxc_autostart.c b/src/lxc/tools/lxc_autostart.c
index a24dd7cdd..3c3fe0092 100644
--- a/src/lxc/tools/lxc_autostart.c
+++ b/src/lxc/tools/lxc_autostart.c
@@ -352,12 +352,19 @@ int main(int argc, char *argv[])
 	struct lxc_container **containers = NULL;
 	struct lxc_list **c_groups_lists = NULL;
 	struct lxc_list *cmd_group;
+	struct lxc_log_conf log;
 
 	if (lxc_arguments_parse(&my_args, argc, argv))
 		exit(EXIT_FAILURE);
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(EXIT_FAILURE);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_cgroup.c b/src/lxc/tools/lxc_cgroup.c
index 402763073..0c75930a7 100644
--- a/src/lxc/tools/lxc_cgroup.c
+++ b/src/lxc/tools/lxc_cgroup.c
@@ -67,6 +67,7 @@ int main(int argc, char *argv[])
 {
 	char *state_object = NULL, *value = NULL;
 	struct lxc_container *c;
+	struct lxc_log_conf log;
 
 	if (lxc_arguments_parse(&my_args, argc, argv))
 		exit(EXIT_FAILURE);
@@ -74,8 +75,14 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(EXIT_FAILURE);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_checkpoint.c b/src/lxc/tools/lxc_checkpoint.c
index c42cecdb3..3e4250346 100644
--- a/src/lxc/tools/lxc_checkpoint.c
+++ b/src/lxc/tools/lxc_checkpoint.c
@@ -234,6 +234,7 @@ static bool restore(struct lxc_container *c)
 int main(int argc, char *argv[])
 {
 	struct lxc_container *c;
+	struct lxc_log_conf log;
 	bool ret;
 
 	if (lxc_arguments_parse(&my_args, argc, argv))
@@ -242,8 +243,14 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(EXIT_FAILURE);
 
 	lxc_log_options_no_override();
diff --git a/src/lxc/tools/lxc_console.c b/src/lxc/tools/lxc_console.c
index 88a24bec3..6fcabcc33 100644
--- a/src/lxc/tools/lxc_console.c
+++ b/src/lxc/tools/lxc_console.c
@@ -98,6 +98,7 @@ int main(int argc, char *argv[])
 {
 	int ret;
 	struct lxc_container *c;
+	struct lxc_log_conf log;
 
 	ret = lxc_arguments_parse(&my_args, argc, argv);
 	if (ret)
@@ -106,8 +107,14 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	ret = lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			   my_args.progname, my_args.quiet, my_args.lxcpath[0]);
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	ret = lxc_log_init(log);
 	if (ret)
 		return EXIT_FAILURE;
 	lxc_log_options_no_override();
diff --git a/src/lxc/tools/lxc_copy.c b/src/lxc/tools/lxc_copy.c
index 0627a6272..f30e4f550 100644
--- a/src/lxc/tools/lxc_copy.c
+++ b/src/lxc/tools/lxc_copy.c
@@ -169,6 +169,7 @@ static int parse_ovl_mnt(char *mntstring, enum mnttype type);
 int main(int argc, char *argv[])
 {
 	struct lxc_container *c;
+	struct lxc_log_conf log;
 	int flags = 0;
 	int ret = EXIT_FAILURE;
 
@@ -178,8 +179,14 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(ret);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_create.c b/src/lxc/tools/lxc_create.c
index b8795c446..24c83bde5 100644
--- a/src/lxc/tools/lxc_create.c
+++ b/src/lxc/tools/lxc_create.c
@@ -208,6 +208,7 @@ int main(int argc, char *argv[])
 {
 	struct lxc_container *c;
 	struct bdev_specs spec;
+	struct lxc_log_conf log;
 	int flags = 0;
 
 	if (lxc_arguments_parse(&my_args, argc, argv))
@@ -216,8 +217,14 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(EXIT_FAILURE);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_destroy.c b/src/lxc/tools/lxc_destroy.c
index 3f46415df..21085cb0b 100644
--- a/src/lxc/tools/lxc_destroy.c
+++ b/src/lxc/tools/lxc_destroy.c
@@ -67,6 +67,7 @@ static bool do_destroy_with_snapshots(struct lxc_container *c);
 int main(int argc, char *argv[])
 {
 	struct lxc_container *c;
+	struct lxc_log_conf log;
 	bool bret;
 
 	if (lxc_arguments_parse(&my_args, argc, argv))
@@ -75,8 +76,14 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(EXIT_FAILURE);
 	lxc_log_options_no_override();
 	if (my_args.quiet)
diff --git a/src/lxc/tools/lxc_device.c b/src/lxc/tools/lxc_device.c
index 39c560cb9..5c27ba61c 100644
--- a/src/lxc/tools/lxc_device.c
+++ b/src/lxc/tools/lxc_device.c
@@ -101,6 +101,7 @@ static bool is_interface(const char* dev_name, pid_t pid)
 int main(int argc, char *argv[])
 {
 	struct lxc_container *c;
+	struct lxc_log_conf log;
 	char *cmd, *dev_name, *dst_name;
 	bool ret = false;
 
@@ -115,8 +116,14 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		goto err;
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_execute.c b/src/lxc/tools/lxc_execute.c
index f26105ad6..d5d4d7066 100644
--- a/src/lxc/tools/lxc_execute.c
+++ b/src/lxc/tools/lxc_execute.c
@@ -40,6 +40,7 @@
 #include "config.h"
 #include "start.h"
 #include "utils.h"
+#include "lxccontainer.h"
 
 lxc_log_define(lxc_execute_ui, lxc);
 
@@ -106,6 +107,7 @@ int main(int argc, char *argv[])
 {
 	char *rcfile;
 	struct lxc_conf *conf;
+	struct lxc_log_conf log;
 	int ret;
 
 	lxc_list_init(&defines);
@@ -116,8 +118,14 @@ int main(int argc, char *argv[])
 	if (lxc_arguments_parse(&my_args, argc, argv))
 		exit(EXIT_FAILURE);
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(EXIT_FAILURE);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_freeze.c b/src/lxc/tools/lxc_freeze.c
index 33445c89e..ef8b2c24d 100644
--- a/src/lxc/tools/lxc_freeze.c
+++ b/src/lxc/tools/lxc_freeze.c
@@ -57,6 +57,7 @@ Options :\n\
 int main(int argc, char *argv[])
 {
 	struct lxc_container *c;
+	struct lxc_log_conf log;
 
 	if (lxc_arguments_parse(&my_args, argc, argv))
 		exit(EXIT_FAILURE);
@@ -64,8 +65,14 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(EXIT_FAILURE);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_info.c b/src/lxc/tools/lxc_info.c
index c977f299c..7dbeb4ae6 100644
--- a/src/lxc/tools/lxc_info.c
+++ b/src/lxc/tools/lxc_info.c
@@ -394,6 +394,7 @@ static int print_info(const char *name, const char *lxcpath)
 int main(int argc, char *argv[])
 {
 	int ret = EXIT_FAILURE;
+	struct lxc_log_conf log;
 
 	if (lxc_arguments_parse(&my_args, argc, argv))
 		exit(ret);
@@ -401,8 +402,14 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(ret);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_init.c b/src/lxc/tools/lxc_init.c
index 1aaa96cd6..883004632 100644
--- a/src/lxc/tools/lxc_init.c
+++ b/src/lxc/tools/lxc_init.c
@@ -37,6 +37,7 @@
 #include "caps.h"
 #include "error.h"
 #include "initutils.h"
+#include "lxccontainer.h"
 
 lxc_log_define(lxc_init, lxc);
 
@@ -83,6 +84,7 @@ int main(int argc, char *argv[])
 	int i, have_status = 0, shutdown = 0;
 	int opt;
 	char *lxcpath = NULL, *name = NULL, *logpriority = NULL;
+	struct lxc_log_conf log;
 
 	while ((opt = getopt_long(argc, argv, "n:l:qP:", options, NULL)) != -1) {
 		switch(opt) {
@@ -94,7 +96,7 @@ int main(int argc, char *argv[])
 			break;
 		case 'q':
 			quiet = 1;
- 			break;
+			break;
 		case 'P':
 			lxcpath = optarg;
 			break;
@@ -104,8 +106,14 @@ int main(int argc, char *argv[])
 		}
 	}
 
-	err = lxc_log_init(name, name ? NULL : "none", logpriority,
-			   basename(argv[0]), quiet, lxcpath);
+	log.name = name;
+	log.file = name ? NULL : "none";
+	log.priority = logpriority;
+	log.prefix = basename(argv[0]);
+	log.quiet = quiet;
+	log.lxcpath = lxcpath;
+
+	err = lxc_log_init(log);
 	if (err < 0)
 		exit(EXIT_FAILURE);
 	lxc_log_options_no_override();
diff --git a/src/lxc/tools/lxc_ls.c b/src/lxc/tools/lxc_ls.c
index 63053b110..7ac616085 100644
--- a/src/lxc/tools/lxc_ls.c
+++ b/src/lxc/tools/lxc_ls.c
@@ -203,6 +203,7 @@ Options :\n\
 int main(int argc, char *argv[])
 {
 	int ret = EXIT_FAILURE;
+	struct lxc_log_conf log;
 	/*
 	 * The lxc parser requires that my_args.name is set. So let's satisfy
 	 * that condition by setting a dummy name which is never used.
@@ -218,8 +219,14 @@ int main(int argc, char *argv[])
 	 * We set the first argument that usually takes my_args.name to NULL so
 	 * that the log is only used when the user specifies a file.
 	 */
-	if (lxc_log_init(NULL, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = NULL;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(EXIT_FAILURE);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_monitor.c b/src/lxc/tools/lxc_monitor.c
index d9da9b8bc..4c6ab20c7 100644
--- a/src/lxc/tools/lxc_monitor.c
+++ b/src/lxc/tools/lxc_monitor.c
@@ -35,6 +35,7 @@
 #include "log.h"
 #include "monitor.h"
 #include "arguments.h"
+#include "lxccontainer.h"
 
 lxc_log_define(lxc_monitor_ui, lxc);
 
@@ -91,6 +92,7 @@ int main(int argc, char *argv[])
 	struct pollfd *fds;
 	nfds_t nfds;
 	int len, rc_main, rc_snp, i;
+	struct lxc_log_conf log;
 
 	rc_main = EXIT_FAILURE;
 
@@ -100,8 +102,14 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(rc_main);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_snapshot.c b/src/lxc/tools/lxc_snapshot.c
index 6948d1988..f03db07f6 100644
--- a/src/lxc/tools/lxc_snapshot.c
+++ b/src/lxc/tools/lxc_snapshot.c
@@ -81,6 +81,7 @@ static void print_file(char *path);
 int main(int argc, char *argv[])
 {
 	struct lxc_container *c;
+	struct lxc_log_conf log;
 	int ret;
 
 	if (lxc_arguments_parse(&my_args, argc, argv))
@@ -89,8 +90,14 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(EXIT_FAILURE);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_start.c b/src/lxc/tools/lxc_start.c
index 3c17ea0f9..b956a40b9 100644
--- a/src/lxc/tools/lxc_start.c
+++ b/src/lxc/tools/lxc_start.c
@@ -205,6 +205,7 @@ int main(int argc, char *argv[])
 {
 	int err = EXIT_FAILURE;
 	struct lxc_conf *conf;
+	struct lxc_log_conf log;
 	char *const *args;
 	char *rcfile = NULL;
 	char *const default_args[] = {
@@ -226,8 +227,14 @@ int main(int argc, char *argv[])
 	else
 		args = my_args.argv;
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(err);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_stop.c b/src/lxc/tools/lxc_stop.c
index e2d64fb5c..c78decaa6 100644
--- a/src/lxc/tools/lxc_stop.c
+++ b/src/lxc/tools/lxc_stop.c
@@ -155,14 +155,21 @@ static int do_reboot_and_check(struct lxc_arguments *a, struct lxc_container *c)
 int main(int argc, char *argv[])
 {
 	struct lxc_container *c;
+	struct lxc_log_conf log;
 	bool s;
 	int ret = EXIT_FAILURE;
 
 	if (lxc_arguments_parse(&my_args, argc, argv))
 		exit(ret);
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(ret);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_unfreeze.c b/src/lxc/tools/lxc_unfreeze.c
index 539654dfc..b0739a0ef 100644
--- a/src/lxc/tools/lxc_unfreeze.c
+++ b/src/lxc/tools/lxc_unfreeze.c
@@ -55,6 +55,7 @@ Options :\n\
 int main(int argc, char *argv[])
 {
 	struct lxc_container *c;
+	struct lxc_log_conf log;
 
 	if (lxc_arguments_parse(&my_args, argc, argv))
 		exit(EXIT_FAILURE);
@@ -62,8 +63,15 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+
+	if (lxc_log_init(log))
 		exit(EXIT_FAILURE);
 	lxc_log_options_no_override();
 
diff --git a/src/lxc/tools/lxc_wait.c b/src/lxc/tools/lxc_wait.c
index de95696aa..ef0c75ded 100644
--- a/src/lxc/tools/lxc_wait.c
+++ b/src/lxc/tools/lxc_wait.c
@@ -83,6 +83,7 @@ Options :\n\
 int main(int argc, char *argv[])
 {
 	struct lxc_container *c;
+	struct lxc_log_conf log;
 
 	if (lxc_arguments_parse(&my_args, argc, argv))
 		exit(EXIT_FAILURE);
@@ -90,8 +91,14 @@ int main(int argc, char *argv[])
 	if (!my_args.log_file)
 		my_args.log_file = "none";
 
-	if (lxc_log_init(my_args.name, my_args.log_file, my_args.log_priority,
-			 my_args.progname, my_args.quiet, my_args.lxcpath[0]))
+	log.name = my_args.name;
+	log.file = my_args.log_file;
+	log.priority = my_args.log_priority;
+	log.prefix = my_args.progname;
+	log.quiet = my_args.quiet;
+	log.lxcpath = my_args.lxcpath[0];
+
+	if (lxc_log_init(log))
 		exit(EXIT_FAILURE);
 	lxc_log_options_no_override();
 


More information about the lxc-devel mailing list