mirror of
https://github.com/profanity-im/profanity.git
synced 2024-12-04 14:46:46 -05:00
Let user change log level while running
`/log level INFO|DEBUG|WARN|ERROR` is now available. Looks like this solves a TODO (see removed comment in source) from 2013 :-) Works only with default log file. Not with user provided log file during start up via the -f parameter. Fix https://github.com/profanity-im/profanity/issues/1627
This commit is contained in:
parent
6147a1342d
commit
3f26dd6be9
@ -391,6 +391,7 @@ cmd_ac_init(void)
|
||||
autocomplete_add(log_ac, "rotate");
|
||||
autocomplete_add(log_ac, "shared");
|
||||
autocomplete_add(log_ac, "where");
|
||||
autocomplete_add(log_ac, "level");
|
||||
|
||||
autoaway_ac = autocomplete_new();
|
||||
autocomplete_add(autoaway_ac, "mode");
|
||||
|
@ -1884,14 +1884,16 @@ static struct cmd_t command_defs[] = {
|
||||
"/log where",
|
||||
"/log rotate on|off",
|
||||
"/log maxsize <bytes>",
|
||||
"/log shared on|off")
|
||||
"/log shared on|off",
|
||||
"/log level INFO|DEBUG|WARN|ERROR")
|
||||
CMD_DESC(
|
||||
"Manage profanity log settings.")
|
||||
CMD_ARGS(
|
||||
{ "where", "Show the current log file location." },
|
||||
{ "rotate on|off", "Rotate log, default on. Does not take effect if you specified a filename yourself when starting Profanity." },
|
||||
{ "maxsize <bytes>", "With rotate enabled, specifies the max log size, defaults to 1048580 (1MB)." },
|
||||
{ "shared on|off", "Share logs between all instances, default: on. When off, the process id will be included in the log filename. Does not take effect if you specified a filename yourself when starting Profanity." })
|
||||
{ "shared on|off", "Share logs between all instances, default: on. When off, the process id will be included in the log filename. Does not take effect if you specified a filename yourself when starting Profanity." },
|
||||
{"level INFO|DEBUG|WARN|EFFOR", "Set the log level. Default is INFO. Only works with default log file, not with user provided log file during startup via -f." })
|
||||
CMD_NOEXAMPLES
|
||||
},
|
||||
|
||||
|
@ -6495,9 +6495,19 @@ cmd_log(ProfWin* window, const char* const command, gchar** args)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
cons_bad_cmd_usage(command);
|
||||
if (strcmp(subcmd, "level") == 0) {
|
||||
if (g_strcmp0(value, "INFO") == 0 || g_strcmp0(value, "DEBUG") == 0 || g_strcmp0(value, "WARN") == 0 || g_strcmp0(value, "ERROR") == 0) {
|
||||
|
||||
/* TODO: make 'level' subcommand for debug level */
|
||||
log_level_t prof_log_level = log_level_from_string(value);
|
||||
log_close();
|
||||
log_init(prof_log_level, NULL);
|
||||
|
||||
cons_show("Log level changed to: %s.", value);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
cons_bad_cmd_usage(command);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user