From 4705a2ac21fdab31a35490e6663b3d8a226b3338 Mon Sep 17 00:00:00 2001
From: winckel <winckel@eurecom.fr>
Date: Fri, 22 Nov 2013 20:07:38 +0000
Subject: [PATCH] Added domains in logs and domain specific message levels
 filtering.

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4500 818b1a75-f10b-46b9-bf7c-635c3b92a50f
---
 common/utils/itti_analyzer/itti_analyzer.c    |  36 ++++--
 .../utils/itti_analyzer/libbuffers/buffers.c  |   2 +
 common/utils/itti_analyzer/libbuffers/file.c  |   2 +
 .../utils/itti_analyzer/libbuffers/socket.c   |   2 +
 .../itti_analyzer/libparser/array_type.c      |   2 +
 .../utils/itti_analyzer/libparser/enum_type.c |   2 +
 .../itti_analyzer/libparser/enum_value_type.c |   2 +
 .../itti_analyzer/libparser/field_type.c      |   2 +
 .../utils/itti_analyzer/libparser/file_type.c |   2 +
 .../libparser/fundamental_type.c              |   2 +
 .../itti_analyzer/libparser/pointer_type.c    |   2 +
 .../itti_analyzer/libparser/reference_type.c  |   2 +
 .../itti_analyzer/libparser/struct_type.c     |   2 +
 .../itti_analyzer/libparser/typedef_type.c    |   2 +
 common/utils/itti_analyzer/libparser/types.c  |   2 +
 .../itti_analyzer/libparser/union_type.c      |   2 +
 .../utils/itti_analyzer/libparser/xml_parse.c | 119 ++++++++----------
 .../itti_analyzer/libresolver/locate_root.c   |   2 +
 .../itti_analyzer/libresolver/resolvers.c     |   2 +
 .../utils/itti_analyzer/libui/ui_callbacks.c  |   4 +-
 common/utils/itti_analyzer/libui/ui_filters.c |  10 +-
 .../utils/itti_analyzer/libui/ui_interface.c  |   2 +
 .../itti_analyzer/libui/ui_main_screen.c      |  30 ++---
 .../itti_analyzer/libui/ui_main_screen.h      |   2 +
 .../utils/itti_analyzer/libui/ui_menu_bar.c   |   2 +
 .../utils/itti_analyzer/libui/ui_notebook.c   |   2 +
 .../utils/itti_analyzer/libui/ui_notif_dlg.c  |   2 +
 .../itti_analyzer/libui/ui_notifications.c    |   2 +
 .../libui/ui_signal_dissect_view.c            |   2 +
 .../utils/itti_analyzer/libui/ui_tree_view.c  |   2 +
 30 files changed, 154 insertions(+), 95 deletions(-)

diff --git a/common/utils/itti_analyzer/itti_analyzer.c b/common/utils/itti_analyzer/itti_analyzer.c
index d82dd06399..9b54a667de 100644
--- a/common/utils/itti_analyzer/itti_analyzer.c
+++ b/common/utils/itti_analyzer/itti_analyzer.c
@@ -15,18 +15,25 @@
 
 #include "rc.h"
 
+#define G_LOG_LEVELS (G_LOG_LEVEL_ERROR     | \
+                      G_LOG_LEVEL_CRITICAL  | \
+                      G_LOG_LEVEL_WARNING   | \
+                      G_LOG_LEVEL_MESSAGE   | \
+                      G_LOG_LEVEL_INFO      | \
+                      G_LOG_LEVEL_DEBUG)
+
 int debug_buffers = 1;
 int debug_parser = 0;
 
-static void
-console_log_handler(const char *log_domain, GLogLevelFlags log_level,
-                    const char *message, gpointer user_data)
+static void console_log_handler(const char *log_domain, GLogLevelFlags log_level,
+                                const char *message, gpointer user_data)
 {
+    GLogLevelFlags domain_log_level = (GLogLevelFlags) user_data;
     time_t curr;
     struct tm *today;
     const char *level;
 
-    if (ui_main_data.log_flags & log_level)
+    if (ui_main_data.log_flags & domain_log_level & log_level)
     {
         switch (log_level & G_LOG_LEVEL_MASK)
         {
@@ -59,7 +66,7 @@ console_log_handler(const char *log_domain, GLogLevelFlags log_level,
         time(&curr);
         today = localtime(&curr);
 
-        fprintf(stderr, "%02u:%02u:%02u %8s %s %s\n", today->tm_hour, today->tm_min, today->tm_sec,
+        fprintf(stderr, "%02u:%02u:%02u %-9s %s %s\n", today->tm_hour, today->tm_min, today->tm_sec,
                 log_domain != NULL ? log_domain : "", level, message);
     }
 }
@@ -76,9 +83,7 @@ int main(int argc, char *argv[])
         G_LOG_LEVEL_WARNING     |
         G_LOG_LEVEL_MESSAGE     |
         G_LOG_LEVEL_INFO        |
-        G_LOG_LEVEL_DEBUG       |
-        G_LOG_FLAG_FATAL        |
-        G_LOG_FLAG_RECURSION);
+        G_LOG_LEVEL_DEBUG);
 
     /* This initialize the library and check potential ABI mismatches
      * between the version it was compiled for and the actual shared
@@ -90,7 +95,20 @@ int main(int argc, char *argv[])
     /* Initialize the widget set */
     gtk_init(&argc, &argv);
 
-    g_log_set_handler(NULL, log_flags, console_log_handler, NULL);
+    /* Parse command line options */
+    ui_gtk_parse_arg (argc, argv);
+
+    /* Set log handlers:
+     *                 Domain,      Levels,    Handler,             Domain enabled levels */
+    g_log_set_handler( NULL,        log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS));
+    g_log_set_handler("BUFFERS",    log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS & (~(G_LOG_LEVEL_DEBUG))));
+    g_log_set_handler("PARSER",     log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS));
+    g_log_set_handler("RESOLVER",   log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS & (~(G_LOG_LEVEL_DEBUG))));
+    g_log_set_handler("UI",         log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS & (~(G_LOG_LEVEL_DEBUG))));
+    g_log_set_handler("UI_CB",      log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS));
+    g_log_set_handler("UI_FILTER",  log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS & (~(G_LOG_LEVEL_DEBUG))));
+    g_log_set_handler("UI_INTER",   log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS));
+    g_log_set_handler("UI_TREE",    log_flags, console_log_handler, (gpointer) (G_LOG_LEVELS & (~(G_LOG_LEVEL_DEBUG))));
 
     CHECK_FCT(ui_gtk_initialize(argc, argv));
 
diff --git a/common/utils/itti_analyzer/libbuffers/buffers.c b/common/utils/itti_analyzer/libbuffers/buffers.c
index 22d5eba8ec..d9f802f54b 100644
--- a/common/utils/itti_analyzer/libbuffers/buffers.c
+++ b/common/utils/itti_analyzer/libbuffers/buffers.c
@@ -3,6 +3,8 @@
 #include <stdio.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("BUFFERS")
+
 #include <glib.h>
 
 #include "rc.h"
diff --git a/common/utils/itti_analyzer/libbuffers/file.c b/common/utils/itti_analyzer/libbuffers/file.c
index 22cd865ecb..2b530521a4 100644
--- a/common/utils/itti_analyzer/libbuffers/file.c
+++ b/common/utils/itti_analyzer/libbuffers/file.c
@@ -5,6 +5,8 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 
+#define G_LOG_DOMAIN ("BUFFERS")
+
 #include <glib.h>
 
 #include "rc.h"
diff --git a/common/utils/itti_analyzer/libbuffers/socket.c b/common/utils/itti_analyzer/libbuffers/socket.c
index ff5e28fd3c..e9ca53f554 100644
--- a/common/utils/itti_analyzer/libbuffers/socket.c
+++ b/common/utils/itti_analyzer/libbuffers/socket.c
@@ -7,6 +7,8 @@
 #include <errno.h>
 #include <fcntl.h>
 
+#define G_LOG_DOMAIN ("BUFFERS")
+
 #include <gtk/gtk.h>
 
 #include "itti_types.h"
diff --git a/common/utils/itti_analyzer/libparser/array_type.c b/common/utils/itti_analyzer/libparser/array_type.c
index ebeb6b87d3..6379543f3d 100644
--- a/common/utils/itti_analyzer/libparser/array_type.c
+++ b/common/utils/itti_analyzer/libparser/array_type.c
@@ -4,6 +4,8 @@
 #include <string.h>
 #include <ctype.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include "array_type.h"
 #include "fundamental_type.h"
 #include "ui_interface.h"
diff --git a/common/utils/itti_analyzer/libparser/enum_type.c b/common/utils/itti_analyzer/libparser/enum_type.c
index 734cbac7a0..35fef35b4f 100644
--- a/common/utils/itti_analyzer/libparser/enum_type.c
+++ b/common/utils/itti_analyzer/libparser/enum_type.c
@@ -3,6 +3,8 @@
 #include <assert.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include "enum_type.h"
 #include "ui_interface.h"
 
diff --git a/common/utils/itti_analyzer/libparser/enum_value_type.c b/common/utils/itti_analyzer/libparser/enum_value_type.c
index 472fcb8064..89e0f86e90 100644
--- a/common/utils/itti_analyzer/libparser/enum_value_type.c
+++ b/common/utils/itti_analyzer/libparser/enum_value_type.c
@@ -3,6 +3,8 @@
 #include <assert.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include "enum_value_type.h"
 #include "ui_interface.h"
 
diff --git a/common/utils/itti_analyzer/libparser/field_type.c b/common/utils/itti_analyzer/libparser/field_type.c
index c681e27af3..11b8a13942 100644
--- a/common/utils/itti_analyzer/libparser/field_type.c
+++ b/common/utils/itti_analyzer/libparser/field_type.c
@@ -3,6 +3,8 @@
 #include <assert.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include "rc.h"
 
 #include "field_type.h"
diff --git a/common/utils/itti_analyzer/libparser/file_type.c b/common/utils/itti_analyzer/libparser/file_type.c
index 0ca1bc3a65..c63ab4946a 100644
--- a/common/utils/itti_analyzer/libparser/file_type.c
+++ b/common/utils/itti_analyzer/libparser/file_type.c
@@ -3,6 +3,8 @@
 #include <assert.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include "file_type.h"
 
 int file_type_file_print(types_t *type, int indent, FILE *file)
diff --git a/common/utils/itti_analyzer/libparser/fundamental_type.c b/common/utils/itti_analyzer/libparser/fundamental_type.c
index 0ff786e58d..66117c9ec5 100644
--- a/common/utils/itti_analyzer/libparser/fundamental_type.c
+++ b/common/utils/itti_analyzer/libparser/fundamental_type.c
@@ -3,6 +3,8 @@
 #include <string.h>
 #include <inttypes.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include "fundamental_type.h"
 #include "ui_interface.h"
 
diff --git a/common/utils/itti_analyzer/libparser/pointer_type.c b/common/utils/itti_analyzer/libparser/pointer_type.c
index 39719c9494..89de53312d 100644
--- a/common/utils/itti_analyzer/libparser/pointer_type.c
+++ b/common/utils/itti_analyzer/libparser/pointer_type.c
@@ -3,6 +3,8 @@
 #include <assert.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include "pointer_type.h"
 #include "ui_interface.h"
 
diff --git a/common/utils/itti_analyzer/libparser/reference_type.c b/common/utils/itti_analyzer/libparser/reference_type.c
index 409428d624..e6d080e656 100644
--- a/common/utils/itti_analyzer/libparser/reference_type.c
+++ b/common/utils/itti_analyzer/libparser/reference_type.c
@@ -3,6 +3,8 @@
 #include <assert.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include "reference_type.h"
 #include "ui_interface.h"
 
diff --git a/common/utils/itti_analyzer/libparser/struct_type.c b/common/utils/itti_analyzer/libparser/struct_type.c
index a4189dc1c4..5cf9e708a8 100644
--- a/common/utils/itti_analyzer/libparser/struct_type.c
+++ b/common/utils/itti_analyzer/libparser/struct_type.c
@@ -3,6 +3,8 @@
 #include <assert.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include "rc.h"
 
 #include "struct_type.h"
diff --git a/common/utils/itti_analyzer/libparser/typedef_type.c b/common/utils/itti_analyzer/libparser/typedef_type.c
index 18239fc87b..41bd415227 100644
--- a/common/utils/itti_analyzer/libparser/typedef_type.c
+++ b/common/utils/itti_analyzer/libparser/typedef_type.c
@@ -3,6 +3,8 @@
 #include <assert.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include "typedef_type.h"
 #include "ui_interface.h"
 
diff --git a/common/utils/itti_analyzer/libparser/types.c b/common/utils/itti_analyzer/libparser/types.c
index 704ded8af7..3248115ba3 100644
--- a/common/utils/itti_analyzer/libparser/types.c
+++ b/common/utils/itti_analyzer/libparser/types.c
@@ -2,6 +2,8 @@
 #include <stdlib.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include "types.h"
 #include "array_type.h"
 #include "enum_type.h"
diff --git a/common/utils/itti_analyzer/libparser/union_type.c b/common/utils/itti_analyzer/libparser/union_type.c
index df69290c06..fc3fe091ee 100644
--- a/common/utils/itti_analyzer/libparser/union_type.c
+++ b/common/utils/itti_analyzer/libparser/union_type.c
@@ -3,6 +3,8 @@
 #include <assert.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include "rc.h"
 
 #include "enum_value_type.h"
diff --git a/common/utils/itti_analyzer/libparser/xml_parse.c b/common/utils/itti_analyzer/libparser/xml_parse.c
index c5189e0be4..8ec5cd4407 100644
--- a/common/utils/itti_analyzer/libparser/xml_parse.c
+++ b/common/utils/itti_analyzer/libparser/xml_parse.c
@@ -1,6 +1,8 @@
 #include <string.h>
 #include <unistd.h>
 
+#define G_LOG_DOMAIN ("PARSER")
+
 #include <gtk/gtk.h>
 
 #include <libxml/parser.h>
@@ -26,17 +28,6 @@ extern int debug_parser;
 # define INDENT_START 0
 #endif
 
-#define PARSER_DEBUG(fmt, args...)       \
-do {                                     \
-    if (debug_parser)                    \
-        g_debug("WARNING: "fmt, ##args); \
-} while(0)
-
-#define PARSER_ERROR(fmt, args...)      \
-do {                                    \
-    g_error("FATAL: "fmt, ##args);      \
-} while(0)
-
 types_t *root = NULL;
 
 static int xml_parse_doc(xmlDocPtr doc);
@@ -45,13 +36,13 @@ static int parse_attribute_name(xmlNode *node, types_t *type, int mandatory) {
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "name")) == NULL) {
         if (mandatory) {
-            PARSER_ERROR("cannot retrieve name attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_error("cannot retrieve name attribute in node %s, %s:%ld",
+                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             return -1;
         }
         else {
-            PARSER_DEBUG("cannot retrieve name attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_warning("cannot retrieve name attribute in node %s, %s:%ld",
+                      (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             return 0;
         }
     }
@@ -62,8 +53,8 @@ static int parse_attribute_name(xmlNode *node, types_t *type, int mandatory) {
 static int parse_attribute_id(xmlNode *node, types_t *type) {
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "id")) == NULL) {
-        PARSER_ERROR("cannot retrieve id attribute in node %s, %s:%ld",
-                     (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+        g_error("cannot retrieve id attribute in node %s, %s:%ld",
+                (char *)node->name, node->doc->URL, XML_GET_LINE(node));
         return -1;
     }
     type->id = atoi ((char *) &node_attribute->children->content[1]);
@@ -74,14 +65,14 @@ static int parse_attribute_size(xmlNode *node, types_t *type, int mandatory) {
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "size")) == NULL) {
         if (mandatory) {
-            PARSER_ERROR("cannot retrieve size attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_error("cannot retrieve size attribute in node %s, %s:%ld",
+                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->size = -1;
             return -1;
         }
         else {
-            PARSER_DEBUG("cannot retrieve size attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_warning("cannot retrieve size attribute in node %s, %s:%ld",
+                      (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->size = -1;
             return 0;
         }
@@ -94,14 +85,14 @@ static int parse_attribute_align(xmlNode *node, types_t *type, int mandatory) {
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "align")) == NULL) {
         if (mandatory) {
-            PARSER_ERROR("cannot retrieve align attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_error("cannot retrieve align attribute in node %s, %s:%ld",
+                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->align = -1;
             return -1;
         }
         else {
-            PARSER_DEBUG("cannot retrieve align attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_warning("cannot retrieve align attribute in node %s, %s:%ld",
+                      (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->align = -1;
             return 0;
         }
@@ -134,8 +125,8 @@ static int parse_attribute_context(xmlNode *node, types_t *type, int mandatory)
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "context")) == NULL) {
         if (mandatory) {
-            PARSER_ERROR("cannot retrieve context attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_error("cannot retrieve context attribute in node %s, %s:%ld",
+                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->context = -1;
             return -1;
         }
@@ -151,8 +142,8 @@ static int parse_attribute_context(xmlNode *node, types_t *type, int mandatory)
 static int parse_attribute_artificial(xmlNode *node, types_t *type) {
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "artificial")) == NULL) {
-        PARSER_DEBUG("cannot retrieve artificial attribute in node %s, %s:%ld",
-                     (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+        g_warning("cannot retrieve artificial attribute in node %s, %s:%ld",
+                  (char *)node->name, node->doc->URL, XML_GET_LINE(node));
         type->artificial = -1;
         return 0;
     }
@@ -163,8 +154,8 @@ static int parse_attribute_artificial(xmlNode *node, types_t *type) {
 static int parse_attribute_init(xmlNode *node, types_t *type) {
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "init")) == NULL) {
-        PARSER_ERROR("cannot retrieve init attribute in node %s, %s:%ld",
-                     (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+        g_error("cannot retrieve init attribute in node %s, %s:%ld",
+                (char *)node->name, node->doc->URL, XML_GET_LINE(node));
         type->init_value = -1;
         return 0;
     }
@@ -176,14 +167,14 @@ static int parse_attribute_members(xmlNode *node, types_t *type, int mandatory)
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "members")) == NULL) {
         if (mandatory) {
-            PARSER_ERROR("cannot retrieve members attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_error("cannot retrieve members attribute in node %s, %s:%ld",
+                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->members = 0;
             return -1;
         }
         else {
-            PARSER_DEBUG("cannot retrieve members attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_warning("cannot retrieve members attribute in node %s, %s:%ld",
+                      (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->members = 0;
             return 0;
         }
@@ -196,14 +187,14 @@ static int parse_attribute_mangled(xmlNode *node, types_t *type, int mandatory)
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "mangled")) == NULL) {
         if (mandatory) {
-            PARSER_ERROR("cannot retrieve mangled attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_error("cannot retrieve mangled attribute in node %s, %s:%ld",
+                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->mangled = 0;
             return -1;
         }
         else {
-            PARSER_DEBUG("cannot retrieve mangled attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_warning("cannot retrieve mangled attribute in node %s, %s:%ld",
+                      (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->mangled = 0;
             return 0;
         }
@@ -216,14 +207,14 @@ static int parse_attribute_demangled(xmlNode *node, types_t *type, int mandatory
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "mangled")) == NULL) {
         if (mandatory) {
-            PARSER_ERROR("cannot retrieve demangled attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_error("cannot retrieve demangled attribute in node %s, %s:%ld",
+                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->demangled = 0;
             return -1;
         }
         else {
-            PARSER_DEBUG("cannot retrieve demangled attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_warning("cannot retrieve demangled attribute in node %s, %s:%ld",
+                      (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->demangled = 0;
             return 0;
         }
@@ -236,14 +227,14 @@ static int parse_attribute_offset(xmlNode *node, types_t *type, int mandatory) {
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "offset")) == NULL) {
         if (mandatory) {
-            PARSER_ERROR("cannot retrieve offset attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_error("cannot retrieve offset attribute in node %s, %s:%ld",
+                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->offset = -1;
             return -1;
         }
         else {
-            PARSER_DEBUG("cannot retrieve offset attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_warning("cannot retrieve offset attribute in node %s, %s:%ld",
+                      (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->offset = -1;
             return 0;
         }
@@ -256,14 +247,14 @@ static int parse_attribute_bits(xmlNode *node, types_t *type, int mandatory) {
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "bits")) == NULL) {
         if (mandatory) {
-            PARSER_ERROR("cannot retrieve bits attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_error("cannot retrieve bits attribute in node %s, %s:%ld",
+                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->bits = -1;
             return -1;
         }
         else {
-            PARSER_DEBUG("cannot retrieve bits attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_warning("cannot retrieve bits attribute in node %s, %s:%ld",
+                      (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->bits = -1;
             return 0;
         }
@@ -276,14 +267,14 @@ static int parse_attribute_type(xmlNode *node, types_t *type, int mandatory) {
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "type")) == NULL) {
         if (mandatory) {
-            PARSER_ERROR("cannot retrieve type attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_error("cannot retrieve type attribute in node %s, %s:%ld",
+                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->type_xml = 0;
             return -1;
         }
         else {
-            PARSER_DEBUG("cannot retrieve type attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_warning("cannot retrieve type attribute in node %s, %s:%ld",
+                      (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->type_xml = 0;
             return 0;
         }
@@ -296,14 +287,14 @@ static int parse_attribute_min(xmlNode *node, types_t *type, int mandatory) {
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "min")) == NULL) {
         if (mandatory) {
-            PARSER_ERROR("cannot retrieve min attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_error("cannot retrieve min attribute in node %s, %s:%ld",
+                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->min = 0;
             return -1;
         }
         else {
-            PARSER_DEBUG("cannot retrieve min attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_warning("cannot retrieve min attribute in node %s, %s:%ld",
+                      (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->min = 0;
             return 0;
         }
@@ -316,14 +307,14 @@ static int parse_attribute_max(xmlNode *node, types_t *type, int mandatory) {
     xmlAttrPtr node_attribute;
     if ((node_attribute = xmlHasProp (node, (xmlChar *) "max")) == NULL) {
         if (mandatory) {
-            PARSER_ERROR("cannot retrieve max attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_error("cannot retrieve max attribute in node %s, %s:%ld",
+                    (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->max = 0;
             return -1;
         }
         else {
-            PARSER_DEBUG("cannot retrieve max attribute in node %s, %s:%ld",
-                         (char *)node->name, node->doc->URL, XML_GET_LINE(node));
+            g_warning("cannot retrieve max attribute in node %s, %s:%ld",
+                      (char *)node->name, node->doc->URL, XML_GET_LINE(node));
             type->max = 0;
             return 0;
         }
@@ -663,7 +654,7 @@ int xml_parse_buffer(const char *xml_buffer, const int size) {
         return -1;
     }
 
-    g_message("Parsing XML definition from buffer ...");
+    g_debug("Parsing XML definition from buffer ...");
 
     doc = xmlReadMemory(xml_buffer, size, NULL, NULL, 0);
 
diff --git a/common/utils/itti_analyzer/libresolver/locate_root.c b/common/utils/itti_analyzer/libresolver/locate_root.c
index 25566db886..1d450c4281 100644
--- a/common/utils/itti_analyzer/libresolver/locate_root.c
+++ b/common/utils/itti_analyzer/libresolver/locate_root.c
@@ -1,6 +1,8 @@
 #include <stdio.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("RESOLVER")
+
 #include <glib.h>
 
 #include "rc.h"
diff --git a/common/utils/itti_analyzer/libresolver/resolvers.c b/common/utils/itti_analyzer/libresolver/resolvers.c
index 2925e5dd3c..840d5ab2d0 100644
--- a/common/utils/itti_analyzer/libresolver/resolvers.c
+++ b/common/utils/itti_analyzer/libresolver/resolvers.c
@@ -2,6 +2,8 @@
 #include <stdlib.h>
 #include <string.h>
 
+#define G_LOG_DOMAIN ("RESOLVER")
+
 #include <glib.h>
 
 #include "types.h"
diff --git a/common/utils/itti_analyzer/libui/ui_callbacks.c b/common/utils/itti_analyzer/libui/ui_callbacks.c
index fb155b4609..217431d34c 100644
--- a/common/utils/itti_analyzer/libui/ui_callbacks.c
+++ b/common/utils/itti_analyzer/libui/ui_callbacks.c
@@ -5,6 +5,8 @@
 #include <stdlib.h>
 #include <stdint.h>
 
+#define G_LOG_DOMAIN ("UI_CB")
+
 #include <gtk/gtk.h>
 
 #include "rc.h"
@@ -368,7 +370,7 @@ gboolean ui_callback_on_menu_color(GtkWidget *widget, gpointer data)
         snprintf (color_string, COLOR_SIZE, "#%02x%02x%02x", red, green, blue);
         ui_tree_view_refilter ();
 
-        g_message("Selected color for %s %f->%02x %f->%02x %f->%02x %s",
+        g_debug("Selected color for %s %f->%02x %f->%02x %f->%02x %s",
                   menu_color->menu_enable->filter_item->name, color.red, red, color.green, green, color.blue, blue, color_string);
     }
     gtk_widget_destroy (color_chooser);
diff --git a/common/utils/itti_analyzer/libui/ui_filters.c b/common/utils/itti_analyzer/libui/ui_filters.c
index f0771a43d2..79537a78b0 100644
--- a/common/utils/itti_analyzer/libui/ui_filters.c
+++ b/common/utils/itti_analyzer/libui/ui_filters.c
@@ -1,5 +1,8 @@
 #include <stdio.h>
 #include <stdlib.h>
+
+#define G_LOG_DOMAIN ("UI_FILTER")
+
 #include <glib.h>
 
 #include <libxml/parser.h>
@@ -252,7 +255,7 @@ static ui_filter_e ui_filter_from_name(const char *name)
     return FILTER_UNKNOWN;
 }
 
-static int xml_parse_filters(xmlDocPtr doc)
+static int xml_parse_filters(xmlDocPtr doc, const char *file_name)
 {
     xmlNode *root_element = NULL;
     xmlNode *filter_node = NULL;
@@ -354,8 +357,7 @@ static int xml_parse_filters(xmlDocPtr doc)
         ret = RC_OK;
     }
 
-    g_message(
-            "Parsed XML filters definition found %d entries (%d messages to display)", filters_entries, ui_tree_view_get_filtered_number());
+    g_message("Parsed XML filters file \"%s\", found %d entries (%d messages to display)", file_name, filters_entries, ui_tree_view_get_filtered_number());
 
     return ret;
 }
@@ -378,7 +380,7 @@ int ui_filters_read(const char *file_name)
         return RC_FAIL;
     }
 
-    ret = xml_parse_filters (doc);
+    ret = xml_parse_filters (doc, file_name);
     if (ret != RC_OK)
     {
         ui_notification_dialog (GTK_MESSAGE_WARNING, "open filters", "Found no filter definitions in \"%s\"",
diff --git a/common/utils/itti_analyzer/libui/ui_interface.c b/common/utils/itti_analyzer/libui/ui_interface.c
index 5010a07658..806dce8b6c 100644
--- a/common/utils/itti_analyzer/libui/ui_interface.c
+++ b/common/utils/itti_analyzer/libui/ui_interface.c
@@ -2,6 +2,8 @@
 #include <stdint.h>
 #include <unistd.h>
 
+#define G_LOG_DOMAIN ("UI_INTER")
+
 #include <gtk/gtk.h>
 
 #include "ui_interface.h"
diff --git a/common/utils/itti_analyzer/libui/ui_main_screen.c b/common/utils/itti_analyzer/libui/ui_main_screen.c
index e89e6eba10..e56a9ad84f 100644
--- a/common/utils/itti_analyzer/libui/ui_main_screen.c
+++ b/common/utils/itti_analyzer/libui/ui_main_screen.c
@@ -8,6 +8,8 @@
 #include <string.h>
 #include <unistd.h>
 
+#define G_LOG_DOMAIN ("UI")
+
 #include <gtk/gtk.h>
 
 #include "rc.h"
@@ -22,11 +24,6 @@
 
 ui_main_data_t ui_main_data;
 
-gchar *LOG_DOMAIN_PARSE =    "Parse";
-gchar *LOG_DOMAIN_PIPE =     "Pipe";
-gchar *LOG_DOMAIN_SOCKET =   "Socket";
-gchar *LOG_DOMAIN_UI =       "UI";
-
 static void ui_help(void)
 {
     printf ("Usage: itti_analyser [options]\n\n"
@@ -40,10 +37,20 @@ static void ui_help(void)
             "  -p PORT      set port to PORT\n");
 }
 
-static void ui_gtk_parse_arg(int argc, char *argv[])
+void ui_gtk_parse_arg(int argc, char *argv[])
 {
     char c;
 
+    /* Clear of ui_main_data not needed */
+    // memset (&ui_main_data, 0, sizeof(ui_main_data_t));
+
+    /* Set some default initialization value for the IP address */
+    ui_main_data.ip_entry_init = "127.0.0.1";
+    ui_main_data.port_entry_init = "10006";
+
+    /* Set default log level to at least warning level messages */
+    ui_main_data.log_flags = (G_LOG_LEVEL_MASK & (~(G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO | G_LOG_LEVEL_DEBUG)));
+
     while ((c = getopt (argc, argv, "d:f:hi:l:m:p:")) != -1)
     {
         switch (c)
@@ -160,17 +167,6 @@ int ui_gtk_initialize(int argc, char *argv[])
 {
     GtkWidget *vbox;
 
-    memset (&ui_main_data, 0, sizeof(ui_main_data_t));
-
-    /* Set some default initialization value for the IP address */
-    ui_main_data.ip_entry_init = "127.0.0.1";
-    ui_main_data.port_entry_init = "10007";
-
-    /* Set default log level to all but debug message */
-    ui_main_data.log_flags = (G_LOG_LEVEL_MASK & (~G_LOG_LEVEL_DEBUG));
-
-    ui_gtk_parse_arg (argc, argv);
-
     /* Create the main window */
     ui_main_data.window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
     ui_init_filters (TRUE, FALSE);
diff --git a/common/utils/itti_analyzer/libui/ui_main_screen.h b/common/utils/itti_analyzer/libui/ui_main_screen.h
index a3c90e8093..3e2f9b2874 100644
--- a/common/utils/itti_analyzer/libui/ui_main_screen.h
+++ b/common/utils/itti_analyzer/libui/ui_main_screen.h
@@ -59,6 +59,8 @@ typedef struct {
 
 extern ui_main_data_t ui_main_data;
 
+void ui_gtk_parse_arg(int argc, char *argv[]);
+
 void ui_set_title(const char *fmt, ...);
 
 int ui_gtk_initialize(int argc, char *argv[]);
diff --git a/common/utils/itti_analyzer/libui/ui_menu_bar.c b/common/utils/itti_analyzer/libui/ui_menu_bar.c
index 3ff63e4b86..32b30e11b3 100644
--- a/common/utils/itti_analyzer/libui/ui_menu_bar.c
+++ b/common/utils/itti_analyzer/libui/ui_menu_bar.c
@@ -1,3 +1,5 @@
+#define G_LOG_DOMAIN ("UI")
+
 #include <gtk/gtk.h>
 #include <gdk/gdkkeysyms.h>
 
diff --git a/common/utils/itti_analyzer/libui/ui_notebook.c b/common/utils/itti_analyzer/libui/ui_notebook.c
index a35024ade8..8a293f7041 100644
--- a/common/utils/itti_analyzer/libui/ui_notebook.c
+++ b/common/utils/itti_analyzer/libui/ui_notebook.c
@@ -6,6 +6,8 @@
 #include <stdint.h>
 #include <gtk/gtk.h>
 
+#define G_LOG_DOMAIN ("UI")
+
 #include "rc.h"
 
 #include "ui_notebook.h"
diff --git a/common/utils/itti_analyzer/libui/ui_notif_dlg.c b/common/utils/itti_analyzer/libui/ui_notif_dlg.c
index 42dc60a158..0586dc7f46 100644
--- a/common/utils/itti_analyzer/libui/ui_notif_dlg.c
+++ b/common/utils/itti_analyzer/libui/ui_notif_dlg.c
@@ -1,3 +1,5 @@
+#define G_LOG_DOMAIN ("UI")
+
 #include "rc.h"
 
 #include "ui_notif_dlg.h"
diff --git a/common/utils/itti_analyzer/libui/ui_notifications.c b/common/utils/itti_analyzer/libui/ui_notifications.c
index 2e04360d6f..dfa188a33f 100644
--- a/common/utils/itti_analyzer/libui/ui_notifications.c
+++ b/common/utils/itti_analyzer/libui/ui_notifications.c
@@ -3,6 +3,8 @@
 #include <stdint.h>
 #include <stdarg.h>
 
+#define G_LOG_DOMAIN ("UI")
+
 #include <sys/stat.h>
 
 #include <gtk/gtk.h>
diff --git a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c
index 0dd5b86b73..e1a588b86b 100644
--- a/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c
+++ b/common/utils/itti_analyzer/libui/ui_signal_dissect_view.c
@@ -1,5 +1,7 @@
 #include <string.h>
 
+#define G_LOG_DOMAIN ("UI")
+
 #include <gtk/gtk.h>
 
 #include "rc.h"
diff --git a/common/utils/itti_analyzer/libui/ui_tree_view.c b/common/utils/itti_analyzer/libui/ui_tree_view.c
index 6fa0210415..77ee7d8a58 100644
--- a/common/utils/itti_analyzer/libui/ui_tree_view.c
+++ b/common/utils/itti_analyzer/libui/ui_tree_view.c
@@ -1,6 +1,8 @@
 #include <stdlib.h>
 #include <stdint.h>
 
+#define G_LOG_DOMAIN ("UI_TREE")
+
 #include <gtk/gtk.h>
 
 #include "rc.h"
-- 
GitLab