summaryrefslogtreecommitdiff
path: root/utilities/ovs-appctl.c
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2014-08-04 12:36:04 -0700
committerBen Pfaff <blp@nicira.com>2014-08-04 14:32:46 -0700
commit9664732f4cd90b741b840db8a8ed24939d227c2e (patch)
tree9fd832082c9a9ea15c5372982f98ce97fd85f9de /utilities/ovs-appctl.c
parentfceef2095222ef96544b263862dca0185178f960 (diff)
downloadopenvswitch-9664732f4cd90b741b840db8a8ed24939d227c2e.tar.gz
ovs-appctl: Add logging options.
Normally I would also add documentation for the logging options to the ovs-appctl manpage, but I am concerned that in this case it would actually make the manpage confusing, because one of the main purposes of ovs-appctl is to modify the log levels of *other* programs, and these options only modify the log level of ovs-appctl itself, which is rarely useful. The following commit will start using these logging options in a test. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Ansis Atteka <aatteka@nicira.com>
Diffstat (limited to 'utilities/ovs-appctl.c')
-rw-r--r--utilities/ovs-appctl.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/utilities/ovs-appctl.c b/utilities/ovs-appctl.c
index a6fbebd0e..bb17ec27f 100644
--- a/utilities/ovs-appctl.c
+++ b/utilities/ovs-appctl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira, Inc.
+ * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2014 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -31,6 +31,7 @@
#include "timeval.h"
#include "unixctl.h"
#include "util.h"
+#include "vlog.h"
static void usage(void);
static const char *parse_command_line(int argc, char *argv[]);
@@ -108,14 +109,20 @@ Other options:\n\
static const char *
parse_command_line(int argc, char *argv[])
{
+ enum {
+ VLOG_OPTION_ENUMS
+ };
static const struct option long_options[] = {
{"target", required_argument, NULL, 't'},
{"execute", no_argument, NULL, 'e'},
{"help", no_argument, NULL, 'h'},
{"version", no_argument, NULL, 'V'},
{"timeout", required_argument, NULL, 'T'},
+ VLOG_LONG_OPTIONS,
{NULL, 0, NULL, 0},
};
+ char *short_options_ = long_options_to_short_options(long_options);
+ char *short_options = xasprintf("+%s", short_options_);
const char *target;
int e_options;
@@ -124,7 +131,7 @@ parse_command_line(int argc, char *argv[])
for (;;) {
int option;
- option = getopt_long(argc, argv, "+t:hVe", long_options, NULL);
+ option = getopt_long(argc, argv, short_options, long_options, NULL);
if (option == -1) {
break;
}
@@ -158,6 +165,8 @@ parse_command_line(int argc, char *argv[])
ovs_print_version(0, 0);
exit(EXIT_SUCCESS);
+ VLOG_OPTION_HANDLERS
+
case '?':
exit(EXIT_FAILURE);
@@ -165,6 +174,8 @@ parse_command_line(int argc, char *argv[])
OVS_NOT_REACHED();
}
}
+ free(short_options_);
+ free(short_options);
if (optind >= argc) {
ovs_fatal(0, "at least one non-option argument is required "