diff --git a/src/logging/nm-logging.c b/src/logging/nm-logging.c index ac30eb42c..c82084456 100644 --- a/src/logging/nm-logging.c +++ b/src/logging/nm-logging.c @@ -179,6 +179,36 @@ nm_logging_setup (const char *level, const char *domains, GError **error) return TRUE; } +const char * +nm_logging_level_to_string (void) +{ + const LogDesc *diter; + + for (diter = &level_descs[0]; diter->name; diter++) { + if (diter->num == log_level) + return diter->name; + } + g_warn_if_reached (); + return ""; +} + +char * +nm_logging_domains_to_string (void) +{ + const LogDesc *diter; + GString *str; + + str = g_string_sized_new (75); + for (diter = &domain_descs[0]; diter->name; diter++) { + if (diter->num & log_domains) { + if (str->len) + g_string_append_c (str, ','); + g_string_append (str, diter->name); + } + } + return g_string_free (str, FALSE); +} + void _nm_log (const char *loc, const char *func, guint32 domain, diff --git a/src/logging/nm-logging.h b/src/logging/nm-logging.h index 2dc52d1e5..2eedf5ff1 100644 --- a/src/logging/nm-logging.h +++ b/src/logging/nm-logging.h @@ -88,6 +88,9 @@ void _nm_log (const char *loc, const char *func, guint32 domain, guint32 level, const char *fmt, ...); +const char *nm_logging_level_to_string (void); +char *nm_logging_domains_to_string (void); + /* Undefine the nm-utils.h logging stuff to ensure errors */ #undef nm_print_backtrace #undef nm_get_timestamp diff --git a/src/nm-manager.c b/src/nm-manager.c index abe505bba..f158e5098 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -2774,7 +2774,12 @@ impl_manager_set_logging (NMManager *manager, GError **error) { if (nm_logging_setup (level, domains, error)) { - nm_log_info (LOGD_CORE, "logging: level '%s' domains '%s'", level, domains); + char *new_domains = nm_logging_domains_to_string (); + + nm_log_info (LOGD_CORE, "logging: level '%s' domains '%s'", + nm_logging_level_to_string (), + new_domains); + g_free (new_domains); return TRUE; } return FALSE;