Commit 4705a2ac authored by winckel's avatar winckel
Browse files

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
parent 081e337c
......@@ -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));
......
......@@ -3,6 +3,8 @@
#include <stdio.h>
#include <string.h>
#define G_LOG_DOMAIN ("BUFFERS")
#include <glib.h>
#include "rc.h"
......
......@@ -5,6 +5,8 @@
#include <sys/stat.h>
#include <fcntl.h>
#define G_LOG_DOMAIN ("BUFFERS")
#include <glib.h>
#include "rc.h"
......
......@@ -7,6 +7,8 @@
#include <errno.h>
#include <fcntl.h>
#define G_LOG_DOMAIN ("BUFFERS")
#include <gtk/gtk.h>
#include "itti_types.h"
......
......@@ -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"
......
......@@ -3,6 +3,8 @@
#include <assert.h>
#include <string.h>
#define G_LOG_DOMAIN ("PARSER")
#include "enum_type.h"
#include "ui_interface.h"
......
......@@ -3,6 +3,8 @@
#include <assert.h>
#include <string.h>
#define G_LOG_DOMAIN ("PARSER")
#include "enum_value_type.h"
#include "ui_interface.h"
......
......@@ -3,6 +3,8 @@
#include <assert.h>
#include <string.h>
#define G_LOG_DOMAIN ("PARSER")
#include "rc.h"
#include "field_type.h"
......
......@@ -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)
......
......@@ -3,6 +3,8 @@
#include <string.h>
#include <inttypes.h>
#define G_LOG_DOMAIN ("PARSER")
#include "fundamental_type.h"
#include "ui_interface.h"
......
......@@ -3,6 +3,8 @@
#include <assert.h>
#include <string.h>
#define G_LOG_DOMAIN ("PARSER")
#include "pointer_type.h"
#include "ui_interface.h"
......
......@@ -3,6 +3,8 @@
#include <assert.h>
#include <string.h>
#define G_LOG_DOMAIN ("PARSER")
#include "reference_type.h"
#include "ui_interface.h"
......
......@@ -3,6 +3,8 @@
#include <assert.h>
#include <string.h>
#define G_LOG_DOMAIN ("PARSER")
#include "rc.h"
#include "struct_type.h"
......
......@@ -3,6 +3,8 @@
#include <assert.h>
#include <string.h>
#define G_LOG_DOMAIN ("PARSER")
#include "typedef_type.h"
#include "ui_interface.h"
......
......@@ -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"
......
......@@ -3,6 +3,8 @@
#include <assert.h>
#include <string.h>
#define G_LOG_DOMAIN ("PARSER")
#include "rc.h"
#include "enum_value_type.h"
......
#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);
......
#include <stdio.h>
#include <string.h>
#define G_LOG_DOMAIN ("RESOLVER")
#include <glib.h>
#include "rc.h"
......
......@@ -2,6 +2,8 @@
#include <stdlib.h>
#include <string.h>
#define G_LOG_DOMAIN ("RESOLVER")
#include <glib.h>
#include "types.h"
......
......@@ -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);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment