diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2016-11-03 12:10:45 +0100 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2016-11-03 12:43:09 +0100 |
commit | 4b4d19e3aa1da061fed35edb979e1ca2a29fb7ed (patch) | |
tree | f690f0f04e22dda394a62f3c6b7a265c3fb1e684 /daemons/dmeventd | |
parent | cd468b6218fc5c46e98ee0061010724c298c312c (diff) | |
download | lvm2-4b4d19e3aa1da061fed35edb979e1ca2a29fb7ed.tar.gz |
dmeventd: separate dm and dmeventd logging
Ensure different logging function for dmeventd.c logging
and dm and lvm library.
We can recognize we want to show every log_info() and
log_notice() message from dmeventd.c code while not
exposing those from libdm/libdevmapper-event
Also switch to use log with errno - it's not changing
anything and doesn't bring any more features yet to dmeventd
logging but we just properly pass dm_errno_or_class properly
through the whole code stack for possible future use
(i.e. support of class logging for dmeventd).
Diffstat (limited to 'daemons/dmeventd')
-rw-r--r-- | daemons/dmeventd/dmeventd.c | 23 | ||||
-rw-r--r-- | daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c | 2 |
2 files changed, 20 insertions, 5 deletions
diff --git a/daemons/dmeventd/dmeventd.c b/daemons/dmeventd/dmeventd.c index 6024e5604..58922ac84 100644 --- a/daemons/dmeventd/dmeventd.c +++ b/daemons/dmeventd/dmeventd.c @@ -99,13 +99,28 @@ static time_t _idle_since = 0; static char **_initial_registrations = 0; /* FIXME Make configurable at runtime */ -__attribute__((format(printf, 4, 5))) + +/* All libdm messages */ +__attribute__((format(printf, 5, 6))) +static void _libdm_log(int level, const char *file, int line, + int dm_errno_or_class, const char *format, ...) +{ + va_list ap; + va_start(ap, format); + dm_event_log("#dm", level, file, line, dm_errno_or_class, format, ap); + va_end(ap); +} + +/* All dmeventd messages */ +#undef LOG_MESG +#define LOG_MESG(l, f, ln, e, x...) _dmeventd_log(l, f, ln, e, ## x) +__attribute__((format(printf, 5, 6))) static void _dmeventd_log(int level, const char *file, int line, - const char *format, ...) + int dm_errno_or_class, const char *format, ...) { va_list ap; va_start(ap, format); - dm_event_log("dm", level, file, line, 0, format, ap); + dm_event_log("dmeventd", level, file, line, dm_errno_or_class, format, ap); va_end(ap); } @@ -2191,7 +2206,7 @@ int main(int argc, char *argv[]) openlog("dmeventd", LOG_PID, LOG_DAEMON); dm_event_log_set(_debug_level, _use_syslog); - dm_log_init(_dmeventd_log); + dm_log_with_errno_init(_libdm_log); (void) dm_prepare_selinux_context(DMEVENTD_PIDFILE, S_IFREG); if (dm_create_lockfile(DMEVENTD_PIDFILE) == 0) diff --git a/daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c b/daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c index f36feb44b..0cca98f8e 100644 --- a/daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c +++ b/daemons/dmeventd/plugins/lvm2/dmeventd_lvm.c @@ -32,7 +32,7 @@ static int _register_count = 0; static struct dm_pool *_mem_pool = NULL; static void *_lvm_handle = NULL; -DM_EVENT_LOG_FN("lvm") +DM_EVENT_LOG_FN("#lvm") static void _lvm2_print_log(int level, const char *file, int line, int dm_errno_or_class, const char *msg) |