Ethereal-dev: [Ethereal-dev] patch: console log level preference
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Richard van der Hoff <richardv@xxxxxxxxxxxxx>
Date: Tue, 11 Oct 2005 13:22:40 +0100
Hi,Attached is a patch which makes the console log level (warning/message/debug etc) a configurable preference. There's no gui for setting it, but since it's pretty much only going to be useful for developers, I'm sure you'll cope...
Richard -- Richard van der Hoff <richardv@xxxxxxxxxxxxx> Systems Analyst Tel: +44 (0) 845 666 7778 http://www.mxtelecom.com
Index: epan/prefs.c =================================================================== RCS file: /cvs/ethereal/epan/prefs.c,v retrieving revision 1.1.1.3 diff -u -r1.1.1.3 prefs.c --- epan/prefs.c 29 Sep 2005 13:18:53 -0000 1.1.1.3 +++ epan/prefs.c 11 Oct 2005 12:22:06 -0000 @@ -1034,6 +1034,8 @@ prefs.gui_layout_content_1 = layout_pane_content_plist; prefs.gui_layout_content_2 = layout_pane_content_pdetails; prefs.gui_layout_content_3 = layout_pane_content_pbytes; + prefs.console_log_level = + G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_ERROR; /* set the default values for the capture dialog box */ prefs.capture_device = NULL; @@ -1388,6 +1390,7 @@ #define PRS_GUI_LAYOUT_CONTENT_1 "gui.layout_content_1" #define PRS_GUI_LAYOUT_CONTENT_2 "gui.layout_content_2" #define PRS_GUI_LAYOUT_CONTENT_3 "gui.layout_content_3" +#define PRS_CONSOLE_LOG_LEVEL "console.log.level" /* * This applies to more than just captures, so it's not "capture.name_resolve"; @@ -1740,7 +1743,9 @@ } else if (strcmp(pref_name, PRS_GUI_LAYOUT_CONTENT_3) == 0) { prefs.gui_layout_content_3 = find_index_from_string_array(value, gui_layout_content_text, 0); - + } else if (strcmp(pref_name, PRS_CONSOLE_LOG_LEVEL) == 0) { + prefs.console_log_level = strtoul(value, NULL, 10); + /* handle the capture options */ } else if (strcmp(pref_name, PRS_CAP_DEVICE) == 0) { if (prefs.capture_device != NULL) @@ -2364,6 +2369,18 @@ fprintf(pf, PRS_GUI_LAYOUT_CONTENT_3 ": %s\n", gui_layout_content_text[prefs.gui_layout_content_3]); + fprintf(pf, "\n######## User Interface: Console logging level ########\n"); + fprintf(pf, "# A bitmask of glib log levels:\n" + "# G_LOG_LEVEL_ERROR = 4\n" + "# G_LOG_LEVEL_CRITICAL = 8\n" + "# G_LOG_LEVEL_WARNING = 16\n" + "# G_LOG_LEVEL_MESSAGE = 32\n" + "# G_LOG_LEVEL_INFO = 64\n" + "# G_LOG_LEVEL_DEBUG = 128\n"); + + fprintf(pf, PRS_CONSOLE_LOG_LEVEL ": %u\n", + prefs.console_log_level); + fprintf (pf, "\n######## User Interface: Columns ########\n"); clp = prefs.col_list; @@ -2554,6 +2571,7 @@ dest->gui_geometry_save_maximized = src->gui_geometry_save_maximized; dest->gui_webbrowser = g_strdup(src->gui_webbrowser); dest->gui_window_title = g_strdup(src->gui_window_title); + dest->console_log_level = src->console_log_level; /* values for the capture dialog box */ dest->capture_device = g_strdup(src->capture_device); dest->capture_devices_descr = g_strdup(src->capture_devices_descr); Index: epan/prefs.h =================================================================== RCS file: /cvs/ethereal/epan/prefs.h,v retrieving revision 1.1.1.2 diff -u -r1.1.1.2 prefs.h --- epan/prefs.h 15 Aug 2005 14:45:16 -0000 1.1.1.2 +++ epan/prefs.h 11 Oct 2005 12:22:06 -0000 @@ -139,6 +139,7 @@ layout_pane_content_e gui_layout_content_1; layout_pane_content_e gui_layout_content_2; layout_pane_content_e gui_layout_content_3; + gint console_log_level; guint32 name_resolve; gint name_resolve_concurrency; gchar *capture_device; Index: gtk/main.c =================================================================== RCS file: /cvs/ethereal/gtk/main.c,v retrieving revision 1.1.1.11 diff -u -r1.1.1.11 main.c --- gtk/main.c 7 Oct 2005 12:37:29 -0000 1.1.1.11 +++ gtk/main.c 11 Oct 2005 12:22:06 -0000 @@ -2736,9 +2736,7 @@ const char *level; - /* change this, if you want to see more verbose log output */ - /* XXX - make this a pref value */ - if( (log_level & G_LOG_LEVEL_MASK) > G_LOG_LEVEL_WARNING) { + if( !(log_level & G_LOG_LEVEL_MASK & prefs.console_log_level)) { return; }
- Follow-Ups:
- Re: [Ethereal-dev] patch: console log level preference
- From: Ulf Lamping
- Re: [Ethereal-dev] patch: console log level preference
- Prev by Date: Re: [Ethereal-dev] How to register dissector only on UDP source port?
- Next by Date: Re: [Ethereal-dev] Re: New dissectors: H.223 and friends
- Previous by thread: Re: [Ethereal-dev] How to register dissector only on UDP source port?
- Next by thread: Re: [Ethereal-dev] patch: console log level preference
- Index(es):