From 1e006d42b9ccf151c978e635daa41a4ed4809e41 Mon Sep 17 00:00:00 2001 From: Jan Friesse Date: Mon, 12 Aug 2019 17:43:51 +0200 Subject: [PATCH] qdevice: Configurable log priority bump Signed-off-by: Jan Friesse --- man/corosync-qdevice.8 | 1 + qdevices/corosync-qdevice.c | 11 ++++++++--- qdevices/qdevice-log.c | 5 +++-- qdevices/qdevice-log.h | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/man/corosync-qdevice.8 b/man/corosync-qdevice.8 index 78d50bf..f941a27 100644 --- a/man/corosync-qdevice.8 +++ b/man/corosync-qdevice.8 @@ -49,6 +49,7 @@ for 2 node clusters. .TP .B -d Forcefully turn on debug information without the need to change corosync.conf. +For bumping syslog messages priority to info, use this parameter twice. .TP .B -f Do not daemonize, run in the foreground. diff --git a/qdevices/corosync-qdevice.c b/qdevices/corosync-qdevice.c index 4ea77c9..c63ab8f 100644 --- a/qdevices/corosync-qdevice.c +++ b/qdevices/corosync-qdevice.c @@ -143,17 +143,21 @@ cli_parse_long_opt(struct qdevice_advanced_settings *advanced_settings, const ch } static void -cli_parse(int argc, char * const argv[], int *foreground, int *force_debug, +cli_parse(int argc, char * const argv[], int *foreground, int *force_debug, int *bump_log_priority, struct qdevice_advanced_settings *advanced_settings) { int ch; *foreground = 0; *force_debug = 0; + *bump_log_priority = 0; while ((ch = getopt(argc, argv, "dfhS:")) != -1) { switch (ch) { case 'd': + if (*force_debug) { + *bump_log_priority = 1; + } *force_debug = 1; break; case 'f': @@ -178,6 +182,7 @@ main(int argc, char * const argv[]) struct qdevice_advanced_settings advanced_settings; int foreground; int force_debug; + int bump_log_priority; int lock_file; int another_instance_running; int model_run_res; @@ -186,7 +191,7 @@ main(int argc, char * const argv[]) errx(1, "Can't alloc memory for advanced settings"); } - cli_parse(argc, argv, &foreground, &force_debug, &advanced_settings); + cli_parse(argc, argv, &foreground, &force_debug, &bump_log_priority, &advanced_settings); qdevice_instance_init(&instance, &advanced_settings); @@ -194,7 +199,7 @@ main(int argc, char * const argv[]) instance.heuristics_instance.qdevice_instance_ptr = &instance; qdevice_cmap_init(&instance); - if (qdevice_log_init(&instance, foreground, force_debug) == -1) { + if (qdevice_log_init(&instance, foreground, force_debug, bump_log_priority) == -1) { errx(1, "Can't initialize logging"); } diff --git a/qdevices/qdevice-log.c b/qdevices/qdevice-log.c index 8050cf4..b4d829b 100644 --- a/qdevices/qdevice-log.c +++ b/qdevices/qdevice-log.c @@ -82,7 +82,7 @@ qdevice_log_configure(struct qdevice_instance *instance) } int -qdevice_log_init(struct qdevice_instance *instance, int foreground, int force_debug) +qdevice_log_init(struct qdevice_instance *instance, int foreground, int force_debug, int bump_log_priority) { int res; int log_target; @@ -98,7 +98,8 @@ qdevice_log_init(struct qdevice_instance *instance, int foreground, int force_de if (res == -1) { return (res); } - log_set_priority_bump(1); + + log_set_priority_bump(bump_log_priority); qdevice_log_configure(instance); diff --git a/qdevices/qdevice-log.h b/qdevices/qdevice-log.h index ef6745f..5310530 100644 --- a/qdevices/qdevice-log.h +++ b/qdevices/qdevice-log.h @@ -43,7 +43,7 @@ extern "C" { #endif extern int qdevice_log_init(struct qdevice_instance *instance, int foreground, - int force_debug); + int force_debug, int bump_log_priority); extern void qdevice_log_configure(struct qdevice_instance *instance);