public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] [gdb/cli] Improve show logging output
@ 2022-01-03 22:59 Tom de Vries
  0 siblings, 0 replies; only message in thread
From: Tom de Vries @ 2022-01-03 22:59 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=45aec4e5ed84b69bcdedaed1024edf62bf96f138

commit 45aec4e5ed84b69bcdedaed1024edf62bf96f138
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jan 3 23:59:30 2022 +0100

    [gdb/cli] Improve show logging output
    
    Before commit 3b6acaee895 "Update more calls to add_prefix_cmd" we had the
    following output for "show logging":
    ...
    $ gdb -q -batch -ex "set trace-commands on" \
        -ex "set logging off" \
        -ex "show logging" \
        -ex "set logging on" \
        -ex "show logging"
    +set logging off
    +show logging
    Future logs will be written to gdb.txt.
    Logs will be appended to the log file.
    Output will be logged and displayed.
    Debug output will be logged and displayed.
    +set logging on
    +show logging
    Currently logging to "gdb.txt".
    Logs will be appended to the log file.
    Output will be logged and displayed.
    Debug output will be logged and displayed.
    ...
    
    After that commit we have instead:
    ...
    +set logging off
    +show logging
    debugredirect:  The logging output mode is off.
    file:  The current logfile is "gdb.txt".
    overwrite:  Whether logging overwrites or appends to the log file is off.
    redirect:  The logging output mode is off.
    +set logging on
    +show logging
    debugredirect:  The logging output mode is off.
    file:  The current logfile is "gdb.txt".
    overwrite:  Whether logging overwrites or appends to the log file is off.
    redirect:  The logging output mode is off.
    ...
    which gives less clear output for some subcommands.
    
    OTOH, it's explicit about whether boolean values are on or off.
    
    The new text seems to have been chosen to match the set/show help texts:
    ...
    (gdb) help show logging
    Show logging options.
    
    List of show logging subcommands:
    
    show logging debugredirect -- Show the logging debug output mode.
    show logging file -- Show the current logfile.
    show logging overwrite -- \
      Show whether logging overwrites or appends to the log file.
    show logging redirect -- Show the logging output mode.
    ...
    
    Make the show logging messages more clear, while still keep the boolean
    values explicit, such that we have:
    ...
    $ ./gdb.sh -q -batch -ex "show logging"
    logging debugredirect:  off: \
      Debug output will go to both the screen and the log file.
    logging enabled:  off: Logging is disabled.
    logging file:  The current logfile is "gdb.txt".
    logging overwrite:  off: Logging appends to the log file.
    logging redirect:  off: Output will go to both the screen and the log file.
    ...
    
    Tested on x86_64-linux.

Diff:
---
 gdb/cli/cli-logging.c | 34 ++++++++++++++++++++++++++--------
 1 file changed, 26 insertions(+), 8 deletions(-)

diff --git a/gdb/cli/cli-logging.c b/gdb/cli/cli-logging.c
index d659a0dc2ef..193a87331db 100644
--- a/gdb/cli/cli-logging.c
+++ b/gdb/cli/cli-logging.c
@@ -56,10 +56,10 @@ static void
 show_logging_overwrite (struct ui_file *file, int from_tty,
 			struct cmd_list_element *c, const char *value)
 {
-  fprintf_filtered (file,
-		    _("Whether logging overwrites or "
-		      "appends to the log file is %s.\n"),
-		    value);
+  if (logging_overwrite)
+    fprintf_filtered (file, _("on: Logging overwrites the log file.\n"));
+  else
+    fprintf_filtered (file, _("off: Logging appends to the log file.\n"));
 }
 
 /* Value as configured by the user.  */
@@ -77,7 +77,25 @@ static void
 show_logging_redirect (struct ui_file *file, int from_tty,
 		       struct cmd_list_element *c, const char *value)
 {
-  fprintf_filtered (file, _("The logging output mode is %s.\n"), value);
+  if (logging_redirect)
+    fprintf_filtered(file, _("on: Output will go only to the log file.\n"));
+  else
+    fprintf_filtered
+      (file,
+       _("off: Output will go to both the screen and the log file.\n"));
+}
+
+static void
+show_logging_debug_redirect (struct ui_file *file, int from_tty,
+		       struct cmd_list_element *c, const char *value)
+{
+  if (debug_redirect)
+    fprintf_filtered(file,
+		     _("on: Debug output will go only to the log file.\n"));
+  else
+    fprintf_filtered
+      (file,
+       _("off: Debug output will go to both the screen and the log file.\n"));
 }
 
 /* If we've pushed output files, close them and pop them.  */
@@ -181,9 +199,9 @@ show_logging_enabled (struct ui_file *file, int from_tty,
 		       struct cmd_list_element *c, const char *value)
 {
   if (logging_enabled)
-    fprintf_filtered (file, _("Logging is enabled.\n"));
+    fprintf_unfiltered (_("on: Logging is enabled.\n"));
   else
-    fprintf_filtered (file, _("Logging is disabled.\n"));
+    fprintf_unfiltered (_("off: Logging is disabled.\n"));
 }
 
 void _initialize_cli_logging ();
@@ -226,7 +244,7 @@ Show the logging debug output mode."), _("\
 If debug redirect is off, debug will go to both the screen and the log file.\n\
 If debug redirect is on, debug will go only to the log file."),
 			   set_logging_redirect,
-			   show_logging_redirect,
+			   show_logging_debug_redirect,
 			   &set_logging_cmdlist, &show_logging_cmdlist);
 
   /* Set/show logging file.  */


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-01-03 22:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-03 22:59 [binutils-gdb] [gdb/cli] Improve show logging output Tom de Vries

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).