From: OpenOCD-Gerrit <ope...@us...> - 2020-02-24 10:31:01
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Main OpenOCD repository". The branch, master has been updated via 86d8c05eb68866297cbc1ec5f90d3d1634c69a1e (commit) from beb610555ad826dda874eee0428deeb1c00ac39d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 86d8c05eb68866297cbc1ec5f90d3d1634c69a1e Author: Antonio Borneo <bor...@gm...> Date: Fri Jun 14 10:00:06 2019 +0200 log: let command "log_output" to set back its default The default log output is stderr. After the command "log_output" has been used to set an output log file, it is possible to return back to stderr only on *NIX hosts specifying a new log output file as "/dev/stderr", but this is not intuitive, not documented and not portable out of *NIX. Make command "log_output" able to set back the default output to stderr when the parameter is either "default" or is missing. While there, add debug message to log the change and make the command return error on incorrect syntax. Change-Id: I8c7c929780f58e2c23936737c8e7274a96734786 Signed-off-by: Antonio Borneo <bor...@gm...> Reviewed-on: http://openocd.zylin.com/5233 Tested-by: jenkins Reviewed-by: Tomas Vanek <va...@fb...> diff --git a/doc/openocd.texi b/doc/openocd.texi index de7dceb78..d059cfae2 100644 --- a/doc/openocd.texi +++ b/doc/openocd.texi @@ -7791,9 +7791,9 @@ echo "Downloading kernel -- please wait" @end example @end deffn -@deffn Command log_output [filename] -Redirect logging to @var{filename}; -the initial log output channel is stderr. +@deffn Command log_output [filename | "default"] +Redirect logging to @var{filename} or set it back to default output; +the default log output channel is stderr. @end deffn @deffn Command add_script_search_dir [directory] diff --git a/src/helper/log.c b/src/helper/log.c index 8f48b928b..ae26df5a1 100644 --- a/src/helper/log.c +++ b/src/helper/log.c @@ -220,6 +220,15 @@ COMMAND_HANDLER(handle_debug_level_command) COMMAND_HANDLER(handle_log_output_command) { + if (CMD_ARGC == 0 || (CMD_ARGC == 1 && strcmp(CMD_ARGV[0], "default") == 0)) { + if (log_output != stderr && log_output != NULL) { + /* Close previous log file, if it was open and wasn't stderr. */ + fclose(log_output); + } + log_output = stderr; + LOG_DEBUG("set log_output to default"); + return ERROR_OK; + } if (CMD_ARGC == 1) { FILE *file = fopen(CMD_ARGV[0], "w"); if (file == NULL) { @@ -231,9 +240,11 @@ COMMAND_HANDLER(handle_log_output_command) fclose(log_output); } log_output = file; + LOG_DEBUG("set log_output to \"%s\"", CMD_ARGV[0]); + return ERROR_OK; } - return ERROR_OK; + return ERROR_COMMAND_SYNTAX_ERROR; } static const struct command_registration log_command_handlers[] = { @@ -242,7 +253,7 @@ static const struct command_registration log_command_handlers[] = { .handler = handle_log_output_command, .mode = COMMAND_ANY, .help = "redirect logging to a file (default: stderr)", - .usage = "file_name", + .usage = "[file_name | \"default\"]", }, { .name = "debug_level", ----------------------------------------------------------------------- Summary of changes: doc/openocd.texi | 6 +++--- src/helper/log.c | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) hooks/post-receive -- Main OpenOCD repository |