The following pull request was submitted through Github. It can be accessed and reviewed at: https://github.com/lxc/lxc/pull/2344
This e-mail was sent by the LXC bot, direct replies will not reach the author unless they happen to be subscribed to this list. === Description (from pull-request) === We used to initialize a log unconditionally before. This has led to scenarios where users where left with container directories and an empty log file even though they didn't request a log be created at all. Switch all tools to only create a log file when the user explicitly requests this. Closes #1779. Closes #2032. Signed-off-by: Christian Brauner <christian.brau...@ubuntu.com>
From f6d79ec119739addc2a43109f7dd08b09f5bafa9 Mon Sep 17 00:00:00 2001 From: Christian Brauner <christian.brau...@ubuntu.com> Date: Wed, 23 May 2018 13:49:42 +0200 Subject: [PATCH] tools: only create log file when requested We used to initialize a log unconditionally before. This has led to scenarios where users where left with container directories and an empty log file even though they didn't request a log be created at all. Switch all tools to only create a log file when the user explicitly requests this. Closes #1779. Closes #2032. Signed-off-by: Christian Brauner <christian.brau...@ubuntu.com> --- src/lxc/tools/lxc_attach.c | 24 ++++++++++++------------ src/lxc/tools/lxc_autostart.c | 21 ++++++++++++--------- src/lxc/tools/lxc_cgroup.c | 24 ++++++++++++------------ src/lxc/tools/lxc_checkpoint.c | 24 ++++++++++++------------ src/lxc/tools/lxc_console.c | 25 ++++++++++++------------- src/lxc/tools/lxc_copy.c | 24 ++++++++++++------------ src/lxc/tools/lxc_create.c | 24 ++++++++++++------------ src/lxc/tools/lxc_destroy.c | 24 ++++++++++++------------ src/lxc/tools/lxc_device.c | 24 ++++++++++++------------ src/lxc/tools/lxc_execute.c | 21 ++++++++++++--------- src/lxc/tools/lxc_freeze.c | 24 ++++++++++++------------ src/lxc/tools/lxc_info.c | 24 ++++++++++++------------ src/lxc/tools/lxc_ls.c | 28 ++++++++++++---------------- src/lxc/tools/lxc_monitor.c | 24 ++++++++++++------------ src/lxc/tools/lxc_snapshot.c | 24 ++++++++++++------------ src/lxc/tools/lxc_start.c | 21 ++++++++++++--------- src/lxc/tools/lxc_stop.c | 21 ++++++++++++--------- src/lxc/tools/lxc_unfreeze.c | 25 ++++++++++++------------- src/lxc/tools/lxc_wait.c | 24 ++++++++++++------------ 19 files changed, 228 insertions(+), 222 deletions(-) diff --git a/src/lxc/tools/lxc_attach.c b/src/lxc/tools/lxc_attach.c index 74b2829d6..afd9a57f6 100644 --- a/src/lxc/tools/lxc_attach.c +++ b/src/lxc/tools/lxc_attach.c @@ -270,18 +270,18 @@ int main(int argc, char *argv[]) if (r) exit(EXIT_FAILURE); - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } if (geteuid()) { if (access(my_args.lxcpath[0], O_RDONLY) < 0) { diff --git a/src/lxc/tools/lxc_autostart.c b/src/lxc/tools/lxc_autostart.c index 21f9e0b39..a78b7d894 100644 --- a/src/lxc/tools/lxc_autostart.c +++ b/src/lxc/tools/lxc_autostart.c @@ -347,15 +347,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(EXIT_FAILURE); - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } count = list_defined_containers(my_args.lxcpath[0], NULL, &containers); diff --git a/src/lxc/tools/lxc_cgroup.c b/src/lxc/tools/lxc_cgroup.c index 14c6fa1e3..f97c44081 100644 --- a/src/lxc/tools/lxc_cgroup.c +++ b/src/lxc/tools/lxc_cgroup.c @@ -73,18 +73,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(EXIT_FAILURE); - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } state_object = my_args.argv[0]; diff --git a/src/lxc/tools/lxc_checkpoint.c b/src/lxc/tools/lxc_checkpoint.c index 0d0746e55..25a8f7aa6 100644 --- a/src/lxc/tools/lxc_checkpoint.c +++ b/src/lxc/tools/lxc_checkpoint.c @@ -257,18 +257,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(EXIT_FAILURE); - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } c = lxc_container_new(my_args.name, my_args.lxcpath[0]); if (!c) { diff --git a/src/lxc/tools/lxc_console.c b/src/lxc/tools/lxc_console.c index e55646225..7c22a7a40 100644 --- a/src/lxc/tools/lxc_console.c +++ b/src/lxc/tools/lxc_console.c @@ -97,19 +97,18 @@ int main(int argc, char *argv[]) if (ret) return EXIT_FAILURE; - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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; + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } c = lxc_container_new(my_args.name, my_args.lxcpath[0]); if (!c) { diff --git a/src/lxc/tools/lxc_copy.c b/src/lxc/tools/lxc_copy.c index 08ef41fc8..58f3b01dd 100644 --- a/src/lxc/tools/lxc_copy.c +++ b/src/lxc/tools/lxc_copy.c @@ -163,18 +163,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(ret); - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } if (geteuid()) { if (access(my_args.lxcpath[0], O_RDONLY) < 0) { diff --git a/src/lxc/tools/lxc_create.c b/src/lxc/tools/lxc_create.c index 51dae1054..78c15ee05 100644 --- a/src/lxc/tools/lxc_create.c +++ b/src/lxc/tools/lxc_create.c @@ -227,18 +227,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(EXIT_FAILURE); - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } if (!my_args.template) { fprintf(stderr, "A template must be specified.\n"); diff --git a/src/lxc/tools/lxc_destroy.c b/src/lxc/tools/lxc_destroy.c index 7de369ac8..9fceba889 100644 --- a/src/lxc/tools/lxc_destroy.c +++ b/src/lxc/tools/lxc_destroy.c @@ -70,18 +70,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(EXIT_FAILURE); - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } if (my_args.quiet) quiet = true; diff --git a/src/lxc/tools/lxc_device.c b/src/lxc/tools/lxc_device.c index c139e96c8..6295b89d7 100644 --- a/src/lxc/tools/lxc_device.c +++ b/src/lxc/tools/lxc_device.c @@ -110,18 +110,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) goto err; - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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; + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } c = lxc_container_new(my_args.name, my_args.lxcpath[0]); if (!c) { diff --git a/src/lxc/tools/lxc_execute.c b/src/lxc/tools/lxc_execute.c index 5c03b498b..ecabb785b 100644 --- a/src/lxc/tools/lxc_execute.c +++ b/src/lxc/tools/lxc_execute.c @@ -151,15 +151,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(err); - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } c = lxc_container_new(my_args.name, my_args.lxcpath[0]); if (!c) { diff --git a/src/lxc/tools/lxc_freeze.c b/src/lxc/tools/lxc_freeze.c index 66180a07b..122564cca 100644 --- a/src/lxc/tools/lxc_freeze.c +++ b/src/lxc/tools/lxc_freeze.c @@ -60,18 +60,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(EXIT_FAILURE); - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } c = lxc_container_new(my_args.name, my_args.lxcpath[0]); if (!c) { diff --git a/src/lxc/tools/lxc_info.c b/src/lxc/tools/lxc_info.c index 6105b36eb..56af0e4fe 100644 --- a/src/lxc/tools/lxc_info.c +++ b/src/lxc/tools/lxc_info.c @@ -396,18 +396,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(ret); - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } if (print_info(my_args.name, my_args.lxcpath[0]) == 0) ret = EXIT_SUCCESS; diff --git a/src/lxc/tools/lxc_ls.c b/src/lxc/tools/lxc_ls.c index 4b9623919..4089b9361 100644 --- a/src/lxc/tools/lxc_ls.c +++ b/src/lxc/tools/lxc_ls.c @@ -211,22 +211,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(EXIT_FAILURE); - if (!my_args.log_file) - my_args.log_file = "none"; - - /* - * 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. - */ - log.name = NULL; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = NULL; + log.file = my_args.log_file; + log.level = 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); + } struct lengths max_len = { /* default header length */ diff --git a/src/lxc/tools/lxc_monitor.c b/src/lxc/tools/lxc_monitor.c index abc8a233a..036e43df5 100644 --- a/src/lxc/tools/lxc_monitor.c +++ b/src/lxc/tools/lxc_monitor.c @@ -503,18 +503,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(rc_main); - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } if (quit_monitord) { int ret = EXIT_SUCCESS; diff --git a/src/lxc/tools/lxc_snapshot.c b/src/lxc/tools/lxc_snapshot.c index 52ddd8fe9..535941f52 100644 --- a/src/lxc/tools/lxc_snapshot.c +++ b/src/lxc/tools/lxc_snapshot.c @@ -84,18 +84,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(EXIT_FAILURE); - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } if (geteuid()) { if (access(my_args.lxcpath[0], O_RDONLY) < 0) { diff --git a/src/lxc/tools/lxc_start.c b/src/lxc/tools/lxc_start.c index aa754247d..1a68453f8 100644 --- a/src/lxc/tools/lxc_start.c +++ b/src/lxc/tools/lxc_start.c @@ -189,15 +189,18 @@ int main(int argc, char *argv[]) else args = my_args.argv; - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } lxcpath = my_args.lxcpath[0]; if (access(lxcpath, O_RDONLY) < 0) { diff --git a/src/lxc/tools/lxc_stop.c b/src/lxc/tools/lxc_stop.c index 787a6bdb6..fad7064e1 100644 --- a/src/lxc/tools/lxc_stop.c +++ b/src/lxc/tools/lxc_stop.c @@ -104,15 +104,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(ret); - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } /* Set default timeout */ if (my_args.timeout == -2) { diff --git a/src/lxc/tools/lxc_unfreeze.c b/src/lxc/tools/lxc_unfreeze.c index 482e0e7f4..5105d8703 100644 --- a/src/lxc/tools/lxc_unfreeze.c +++ b/src/lxc/tools/lxc_unfreeze.c @@ -60,19 +60,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(EXIT_FAILURE); - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } c = lxc_container_new(my_args.name, my_args.lxcpath[0]); if (!c) { diff --git a/src/lxc/tools/lxc_wait.c b/src/lxc/tools/lxc_wait.c index e4541e415..f768149e8 100644 --- a/src/lxc/tools/lxc_wait.c +++ b/src/lxc/tools/lxc_wait.c @@ -87,18 +87,18 @@ int main(int argc, char *argv[]) if (lxc_arguments_parse(&my_args, argc, argv)) exit(EXIT_FAILURE); - if (!my_args.log_file) - my_args.log_file = "none"; - - log.name = my_args.name; - log.file = my_args.log_file; - log.level = 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); + /* Only create log if explicitly instructed */ + if (my_args.log_file || my_args.log_priority) { + log.name = my_args.name; + log.file = my_args.log_file; + log.level = 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); + } c = lxc_container_new(my_args.name, my_args.lxcpath[0]); if (!c)
_______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel