53 warning (
_(
"Currently logging to %s. Turn the logging off and on to "
62 _(
"Whether logging overwrites or "
63 "appends to the log file is %s.\n"),
80 struct ui_file *output, *new_logging_no_redirect_file;
99 new_logging_no_redirect_file = NULL;
107 gdb_assert (logging_no_redirect_file == NULL);
129 logging_no_redirect_file = new_logging_no_redirect_file;
139 warning (
_(
"Current output protocol does not support redirection"));
155 if (logging_no_redirect_file)
158 logging_no_redirect_file = NULL;
189 struct ui_file *no_redirect_file = NULL;
206 no_redirect_file = output;
215 logging_no_redirect_file = no_redirect_file;
219 gdb_assert (logging_no_redirect_file == NULL);
249 warning (
_(
"Current output protocol does not support redirection"));
283 "Usage: set logging on [FILENAME]\n"
285 " set logging file FILENAME\n"
286 " set logging overwrite [on|off]\n"
287 " set logging redirect [on|off]\n"));
330 _(
"Set logging options"), &set_logging_cmdlist,
333 _(
"Show logging options"), &show_logging_cmdlist,
336 Set whether logging overwrites or appends to the log file."),
_(
"\
337 Show whether logging overwrites or appends to the log file."),
_(
"\
338 If set, logging overrides the log file."),
341 &set_logging_cmdlist, &show_logging_cmdlist);
343 Set the logging output mode."),
_(
"\
344 Show the logging output mode."),
_(
"\
345 If redirect is off, output will go to both the screen and the log file.\n\
346 If redirect is on, output will go only to the log file."),
349 &set_logging_cmdlist, &show_logging_cmdlist);
351 Set the current logfile."),
_(
"\
352 Show the current logfile."),
_(
"\
353 The logfile is used when directing GDB's output."),
356 &set_logging_cmdlist, &show_logging_cmdlist);
358 _(
"Enable logging."), &set_logging_cmdlist);
360 _(
"Disable logging."), &set_logging_cmdlist);
static void pop_output_files(void)
static char * saved_filename
struct cmd_list_element * add_prefix_cmd(const char *name, enum command_class theclass, cmd_cfunc_ftype *fun, const char *doc, struct cmd_list_element **prefixlist, const char *prefixname, int allow_unknown, struct cmd_list_element **list)
void warning(const char *fmt,...)
static void set_logging_off(char *args, int from_tty)
static void show_logging_command(char *args, int from_tty)
static struct saved_output_files saved_output
void ui_file_delete(struct ui_file *file)
struct ui_file * gdb_stdout
struct ui_file * gdb_fopen(const char *name, const char *mode)
int ui_out_is_mi_like_p(struct ui_out *uiout)
static void set_logging_overwrite(char *args, int from_tty, struct cmd_list_element *c)
void null_cleanup(void *arg)
struct cmd_list_element * setlist
static void show_logging_redirect(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
void initialize_file_ftype(void)
static int logging_redirect
void fprintf_filtered(struct ui_file *stream, const char *format,...)
void fprintf_unfiltered(struct ui_file *stream, const char *format,...)
struct cmd_list_element * showlist
struct cmd_list_element * add_cmd(const char *name, enum command_class theclass, cmd_cfunc_ftype *fun, const char *doc, struct cmd_list_element **list)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
static void show_logging_filename(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static void set_logging_redirect(char *args, int from_tty, struct cmd_list_element *c)
static void show_logging_overwrite(struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
static struct ui_file * logging_no_redirect_file
struct ui_file * tee_file_new(struct ui_file *one, int close_one, struct ui_file *two, int close_two)
void printf_unfiltered(const char *format,...)
int current_interp_set_logging(int start_log, struct ui_file *out, struct ui_file *logfile)
struct ui_file * gdb_stdlog
static void handle_redirections(int from_tty)
static char * logging_filename
static void set_logging_command(char *args, int from_tty)
void discard_cleanups(struct cleanup *old_chain)
void void void void void void void void void perror_with_name(const char *string) ATTRIBUTE_NORETURN
struct cleanup * make_cleanup_ui_file_delete(struct ui_file *arg)
static void set_logging_on(char *args, int from_tty)
struct ui_file * gdb_stderr
void add_setshow_filename_cmd(const char *name, enum command_class theclass, char **var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
static int logging_overwrite
struct ui_file * gdb_stdtarg
int ui_out_redirect(struct ui_out *uiout, struct ui_file *outstream)
struct ui_file * gdb_stdtargerr
struct ui_out * current_uiout
void do_cleanups(struct cleanup *old_chain)
void add_setshow_boolean_cmd(const char *name, enum command_class theclass, int *var, const char *set_doc, const char *show_doc, const char *help_doc, cmd_sfunc_ftype *set_func, show_value_ftype *show_func, struct cmd_list_element **set_list, struct cmd_list_element **show_list)
initialize_file_ftype _initialize_cli_logging