From 69e935e8a452de252fc2c443dcac8e4371c165ea Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 24 Sep 2021 08:51:28 +1000 Subject: [PATCH] daemon: allow for a -v, -vv, -vvv argument to increase verbosity Sometimes that's faster than having to play with PIPEWIRE_DEBUG. Same for pipewire-media-session. --- man/pipewire.1.rst.in | 4 ++++ src/daemon/pipewire.c | 9 ++++++++- src/media-session/media-session.c | 9 ++++++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/man/pipewire.1.rst.in b/man/pipewire.1.rst.in index 9392f578e..229b75ec1 100644 --- a/man/pipewire.1.rst.in +++ b/man/pipewire.1.rst.in @@ -30,6 +30,10 @@ OPTIONS -h | --help Show help. +-v | --verbose + Increase the verbosity by one level. This option may be specified multiple + times. + --version Show version information. diff --git a/src/daemon/pipewire.c b/src/daemon/pipewire.c index d33d5c46e..622b5718c 100644 --- a/src/daemon/pipewire.c +++ b/src/daemon/pipewire.c @@ -59,12 +59,14 @@ int main(int argc, char *argv[]) { "help", no_argument, NULL, 'h' }, { "version", no_argument, NULL, 'V' }, { "config", required_argument, NULL, 'c' }, + { "verbose", no_argument, NULL, 'v' }, { NULL, 0, NULL, 0} }; int c, res = 0; char path[PATH_MAX]; const char *config_name; + enum spa_log_level level = pw_log_level; if (setenv("PIPEWIRE_INTERNAL", "1", 1) < 0) fprintf(stderr, "can't set PIPEWIRE_INTERNAL env: %m"); @@ -74,8 +76,12 @@ int main(int argc, char *argv[]) pw_init(&argc, &argv); - while ((c = getopt_long(argc, argv, "hVc:", long_options, NULL)) != -1) { + while ((c = getopt_long(argc, argv, "hVc:v", long_options, NULL)) != -1) { switch (c) { + case 'v': + if (level < SPA_LOG_LEVEL_TRACE) + level++; + break; case 'h': show_help(argv[0], config_name); return 0; @@ -95,6 +101,7 @@ int main(int argc, char *argv[]) goto done; } } + pw_log_set_level(level); properties = pw_properties_new( PW_KEY_CONFIG_NAME, config_name, diff --git a/src/media-session/media-session.c b/src/media-session/media-session.c index 7b94e5ba5..8334910d3 100644 --- a/src/media-session/media-session.c +++ b/src/media-session/media-session.c @@ -2442,15 +2442,21 @@ int main(int argc, char *argv[]) { "help", no_argument, NULL, 'h' }, { "version", no_argument, NULL, 'V' }, { "config", required_argument, NULL, 'c' }, + { "verbose", no_argument, NULL, 'v' }, { NULL, 0, NULL, 0} }; size_t i; const struct spa_dict_item *item; + enum spa_log_level level = pw_log_level; pw_init(&argc, &argv); - while ((c = getopt_long(argc, argv, "hVc:", long_options, NULL)) != -1) { + while ((c = getopt_long(argc, argv, "hVc:v", long_options, NULL)) != -1) { switch (c) { + case 'v': + if (level < SPA_LOG_LEVEL_TRACE) + level++; + break; case 'h': do_show_help = true; break; @@ -2469,6 +2475,7 @@ int main(int argc, char *argv[]) return -1; } } + pw_log_set_level(level); impl.this.props = pw_properties_new( PW_KEY_CONFIG_PREFIX, SESSION_PREFIX,