diff options
author | Alasdair Kergon <agk@redhat.com> | 2010-05-14 14:56:39 +0000 |
---|---|---|
committer | Alasdair Kergon <agk@redhat.com> | 2010-05-14 14:56:39 +0000 |
commit | bdadde2f7a3a6f47747b22a9db008ced666407a8 (patch) | |
tree | 189991c2e50a0b24890973432f6471637b447ee4 /daemons/dmeventd/plugins | |
parent | e2d136477b293dc857749ffad12bf8c9ee17903e (diff) | |
download | lvm2-bdadde2f7a3a6f47747b22a9db008ced666407a8.tar.gz lvm2-bdadde2f7a3a6f47747b22a9db008ced666407a8.tar.xz lvm2-bdadde2f7a3a6f47747b22a9db008ced666407a8.zip |
Use -d to control level of messages sent to syslog by dmeventd.
Change -d to -f to run dmeventd in foreground.
(mornfall)
Diffstat (limited to 'daemons/dmeventd/plugins')
-rw-r--r-- | daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c | 41 | ||||
-rw-r--r-- | daemons/dmeventd/plugins/mirror/dmeventd_mirror.c | 3 |
2 files changed, 35 insertions, 9 deletions
diff --git a/daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c b/daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c index bff60b48..bc72d539 100644 --- a/daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c +++ b/daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c @@ -13,6 +13,7 @@ */ #include "lib.h" +#include "log.h" #include "lvm2cmd.h" #include "errors.h" @@ -22,6 +23,8 @@ #include <pthread.h> #include <syslog.h> +extern int dmeventd_debug; + /* * register_device() is called first and performs initialisation. * Only one device may be registered or unregistered at a time. @@ -40,19 +43,41 @@ static void *_lvm_handle = NULL; */ static pthread_mutex_t _event_mutex = PTHREAD_MUTEX_INITIALIZER; -/* FIXME Remove this: Pass messages back to dmeventd core for processing. */ +/* + * FIXME Do not pass things directly to syslog, rather use the existing logging + * facilities to sort logging ... however that mechanism needs to be somehow + * configurable and we don't have that option yet + */ static void _temporary_log_fn(int level, const char *file __attribute((unused)), int line __attribute((unused)), int dm_errno __attribute((unused)), - const char *format) + const char *message) { - level &= ~_LOG_STDERR; - - if (!strncmp(format, "WARNING: ", 9) && (level < 5)) - syslog(LOG_CRIT, "%s", format); - else - syslog(LOG_DEBUG, "%s", format); + level &= ~(_LOG_STDERR | _LOG_ONCE); + + switch (level) { + case _LOG_DEBUG: + if (dmeventd_debug >= 3) + syslog(LOG_DEBUG, "%s", message); + break; + case _LOG_INFO: + if (dmeventd_debug >= 2) + syslog(LOG_INFO, "%s", message); + break; + case _LOG_NOTICE: + if (dmeventd_debug >= 1) + syslog(LOG_NOTICE, "%s", message); + break; + case _LOG_WARN: + syslog(LOG_WARNING, "%s", message); + break; + case _LOG_ERR: + syslog(LOG_ERR, "%s", message); + break; + default: + syslog(LOG_CRIT, "%s", message); + } } void dmeventd_lvm2_lock(void) diff --git a/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c b/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c index 788f9f5a..0e24dca0 100644 --- a/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c +++ b/daemons/dmeventd/plugins/mirror/dmeventd_mirror.c @@ -160,7 +160,8 @@ static int _remove_failed_devices(const char *device) r = dmeventd_lvm2_run(cmd_str); - syslog(LOG_INFO, "Repair of mirrored LV %s/%s %s.", vg, lv, (r == ECMD_PROCESSED) ? "finished successfully" : "failed"); + syslog(LOG_INFO, "Repair of mirrored LV %s/%s %s.", vg, lv, + (r == ECMD_PROCESSED) ? "finished successfully" : "failed"); return (r == ECMD_PROCESSED) ? 0 : -1; } |