| |
@@ -0,0 +1,66 @@
|
| |
+ From 364bbb2ec911ba96005b136df513631b0d5a95f5 Mon Sep 17 00:00:00 2001
|
| |
+ From: Jaroslav Rohel <jrohel@redhat.com>
|
| |
+ Date: Fri, 9 Nov 2018 07:35:13 +0100
|
| |
+ Subject: [PATCH] Fix setup of logging (log domains) (RhBug:1645897)
|
| |
+
|
| |
+ New debug messages were added into GLib library. These messages come
|
| |
+ from the "GLib" log domain and were not hidden in the standard and
|
| |
+ quiet mode of the application.
|
| |
+ This fix hides log messages regardless on source log domain.
|
| |
+ ---
|
| |
+ src/createrepo_shared.c | 19 ++++++-------------
|
| |
+ src/misc.c | 5 ++++-
|
| |
+ 2 files changed, 10 insertions(+), 14 deletions(-)
|
| |
+
|
| |
+ diff --git a/src/createrepo_shared.c b/src/createrepo_shared.c
|
| |
+ index 8a26787..7cb8ba8 100644
|
| |
+ --- a/src/createrepo_shared.c
|
| |
+ +++ b/src/createrepo_shared.c
|
| |
+ @@ -270,24 +270,17 @@ cr_lock_repo(const gchar *repo_dir,
|
| |
+ void
|
| |
+ cr_setup_logging(gboolean quiet, gboolean verbose)
|
| |
+ {
|
| |
+ - g_log_set_default_handler (cr_log_fn, NULL);
|
| |
+ -
|
| |
+ if (quiet) {
|
| |
+ // Quiet mode
|
| |
+ - GLogLevelFlags levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
|
| |
+ - G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
|
| |
+ - g_log_set_handler(NULL, levels, cr_null_log_fn, NULL);
|
| |
+ - g_log_set_handler("C_CREATEREPOLIB", levels, cr_null_log_fn, NULL);
|
| |
+ + GLogLevelFlags hidden_levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
|
| |
+ + G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
|
| |
+ + g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(hidden_levels));
|
| |
+ } else if (verbose) {
|
| |
+ // Verbose mode
|
| |
+ - GLogLevelFlags levels = G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO |
|
| |
+ - G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING;
|
| |
+ - g_log_set_handler(NULL, levels, cr_log_fn, NULL);
|
| |
+ - g_log_set_handler("C_CREATEREPOLIB", levels, cr_log_fn, NULL);
|
| |
+ + g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(0));
|
| |
+ } else {
|
| |
+ // Standard mode
|
| |
+ - GLogLevelFlags levels = G_LOG_LEVEL_DEBUG;
|
| |
+ - g_log_set_handler(NULL, levels, cr_null_log_fn, NULL);
|
| |
+ - g_log_set_handler("C_CREATEREPOLIB", levels, cr_null_log_fn, NULL);
|
| |
+ + GLogLevelFlags hidden_levels = G_LOG_LEVEL_DEBUG;
|
| |
+ + g_log_set_default_handler (cr_log_fn, GINT_TO_POINTER(hidden_levels));
|
| |
+ }
|
| |
+ }
|
| |
+ diff --git a/src/misc.c b/src/misc.c
|
| |
+ index 9937480..9549a44 100644
|
| |
+ --- a/src/misc.c
|
| |
+ +++ b/src/misc.c
|
| |
+ @@ -912,8 +912,11 @@ void
|
| |
+ cr_log_fn(const gchar *log_domain,
|
| |
+ GLogLevelFlags log_level,
|
| |
+ const gchar *message,
|
| |
+ - G_GNUC_UNUSED gpointer user_data)
|
| |
+ + gpointer user_data)
|
| |
+ {
|
| |
+ + gint hidden_log_levels = GPOINTER_TO_INT(user_data);
|
| |
+ + if (log_level & hidden_log_levels)
|
| |
+ + return;
|
| |
+ switch(log_level) {
|
| |
+ case G_LOG_LEVEL_ERROR:
|
| |
+ if (log_domain) g_printerr("%s: ", log_domain);
|
| |
Fix https://bugzilla.redhat.com/show_bug.cgi?id=1645897