Commit 2860faab authored by winckel's avatar winckel

Added an option to filter logs by lebel.

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4356 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 6b2152a2
...@@ -26,7 +26,10 @@ console_log_handler(const char *log_domain, GLogLevelFlags log_level, ...@@ -26,7 +26,10 @@ console_log_handler(const char *log_domain, GLogLevelFlags log_level,
struct tm *today; struct tm *today;
const char *level; const char *level;
switch(log_level & G_LOG_LEVEL_MASK) { if (ui_main_data.log_flags & log_level)
{
switch (log_level & G_LOG_LEVEL_MASK)
{
case G_LOG_LEVEL_ERROR: case G_LOG_LEVEL_ERROR:
level = "Err "; level = "Err ";
break; break;
...@@ -50,16 +53,15 @@ console_log_handler(const char *log_domain, GLogLevelFlags log_level, ...@@ -50,16 +53,15 @@ console_log_handler(const char *log_domain, GLogLevelFlags log_level,
level = NULL; level = NULL;
g_assert_not_reached(); g_assert_not_reached();
break; break;
} }
/* create a "timestamp" */ /* create a "timestamp" */
time(&curr); time(&curr);
today = localtime(&curr); today = localtime(&curr);
fprintf(stderr, "%02u:%02u:%02u %8s %s %s\n", fprintf(stderr, "%02u:%02u:%02u %8s %s %s\n", today->tm_hour, today->tm_min, today->tm_sec,
today->tm_hour, today->tm_min, today->tm_sec, log_domain != NULL ? log_domain : "", level, message);
log_domain != NULL ? log_domain : "", }
level, message);
} }
int main(int argc, char *argv[]) int main(int argc, char *argv[])
......
...@@ -26,9 +26,11 @@ static void ui_help(void) ...@@ -26,9 +26,11 @@ static void ui_help(void)
{ {
printf ("Usage: itti_analyser [options]\n\n" printf ("Usage: itti_analyser [options]\n\n"
"Options:\n" "Options:\n"
" -d DISSECT write DISSECT file with message types parse details\n"
" -f FILTERS read filters from FILTERS file\n" " -f FILTERS read filters from FILTERS file\n"
" -h display this help and exit\n" " -h display this help and exit\n"
" -i IP set ip address to IP\n" " -i IP set ip address to IP\n"
" -l LEVEL set log level to LEVEL in the range of 2 to 7\n"
" -m MESSAGES read messages from MESSAGES file\n" " -m MESSAGES read messages from MESSAGES file\n"
" -p PORT set port to PORT\n"); " -p PORT set port to PORT\n");
} }
...@@ -37,10 +39,18 @@ static void ui_gtk_parse_arg(int argc, char *argv[]) ...@@ -37,10 +39,18 @@ static void ui_gtk_parse_arg(int argc, char *argv[])
{ {
char c; char c;
while ((c = getopt (argc, argv, "f:hi:m:p:")) != -1) while ((c = getopt (argc, argv, "d:f:hi:l:m:p:")) != -1)
{ {
switch (c) switch (c)
{ {
case 'd':
ui_main_data.dissect_file_name = malloc (strlen (optarg) + 1);
if (ui_main_data.dissect_file_name != NULL)
{
strcpy (ui_main_data.dissect_file_name, optarg);
}
break;
case 'f': case 'f':
ui_main_data.filters_file_name = malloc (strlen (optarg) + 1); ui_main_data.filters_file_name = malloc (strlen (optarg) + 1);
if (ui_main_data.filters_file_name != NULL) if (ui_main_data.filters_file_name != NULL)
...@@ -58,6 +68,26 @@ static void ui_gtk_parse_arg(int argc, char *argv[]) ...@@ -58,6 +68,26 @@ static void ui_gtk_parse_arg(int argc, char *argv[])
ui_main_data.ip_entry_init = optarg; ui_main_data.ip_entry_init = optarg;
break; break;
case 'l':
{
GLogLevelFlags log_flag;
log_flag = 1 << atoi(optarg);
if (log_flag < G_LOG_LEVEL_ERROR)
{
log_flag = G_LOG_LEVEL_ERROR;
}
else
{
if (log_flag > G_LOG_LEVEL_DEBUG)
{
log_flag = G_LOG_LEVEL_DEBUG;
}
}
ui_main_data.log_flags = ((log_flag << 1) - 1) & G_LOG_LEVEL_MASK;
break;
}
case 'm': case 'm':
ui_main_data.messages_file_name = malloc (strlen (optarg) + 1); ui_main_data.messages_file_name = malloc (strlen (optarg) + 1);
if (ui_main_data.messages_file_name != NULL) if (ui_main_data.messages_file_name != NULL)
...@@ -125,16 +155,21 @@ int ui_gtk_initialize(int argc, char *argv[]) ...@@ -125,16 +155,21 @@ int ui_gtk_initialize(int argc, char *argv[])
memset (&ui_main_data, 0, sizeof(ui_main_data_t)); memset (&ui_main_data, 0, sizeof(ui_main_data_t));
/* Set some default initialization value */ /* Set some default initialization value for the IP address */
ui_main_data.ip_entry_init = "127.0.0.1"; ui_main_data.ip_entry_init = "127.0.0.1";
ui_main_data.port_entry_init = "10007"; 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); ui_gtk_parse_arg (argc, argv);
/* Create the main window */ /* Create the main window */
ui_main_data.window = gtk_window_new (GTK_WINDOW_TOPLEVEL); ui_main_data.window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
ui_init_filters (TRUE, FALSE); ui_init_filters (TRUE, FALSE);
gtk_window_set_default_icon_name (GTK_STOCK_FIND);
gtk_window_set_position (GTK_WINDOW(ui_main_data.window), GTK_WIN_POS_CENTER); gtk_window_set_position (GTK_WINDOW(ui_main_data.window), GTK_WIN_POS_CENTER);
gtk_window_set_default_size (GTK_WINDOW(ui_main_data.window), 1024, 800); gtk_window_set_default_size (GTK_WINDOW(ui_main_data.window), 1024, 800);
ui_set_title(""); ui_set_title("");
......
...@@ -16,6 +16,7 @@ typedef struct { ...@@ -16,6 +16,7 @@ typedef struct {
/* Buttons */ /* Buttons */
GtkToolItem *open_replay_file; GtkToolItem *open_replay_file;
GtkToolItem *refresh_replay_file;
GtkToolItem *save_replay_file; GtkToolItem *save_replay_file;
GtkToolItem *open_filters_file; GtkToolItem *open_filters_file;
GtkToolItem *save_filters_file; GtkToolItem *save_filters_file;
...@@ -35,6 +36,8 @@ typedef struct { ...@@ -35,6 +36,8 @@ typedef struct {
/* Nb of messages received */ /* Nb of messages received */
guint nb_message_received; guint nb_message_received;
GLogLevelFlags log_flags;
char *dissect_file_name;
char *filters_file_name; char *filters_file_name;
char *messages_file_name; char *messages_file_name;
......
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