Repurpose -v/--verbose; add -t/--terse option (repmgr only)

repmgr and particularly repmgrd currently produce substantial
amounts of log output. Much of this is only useful when troubleshooting
or debugging.

Previously the -v/--verbose option just forced the log level to
INFO. With repmgrd this is pretty pointless - just set the log
level in the configuration file. With repmgr the configuration
file can be overriden by the new -L/--log-level option.

-v/--verbose now provides an additional, chattier/pedantic level
of logging ("Opening *this* logfile", "Executing *this* query",
"running in *this* loop") which is helpful for understanding
repmgr/repmgrd's behaviour, particularly for troubleshooting.
What additional verbose logging is generated will of course a
also depends on the log level set, so e.g. someone trying to
work out which configuration file is actually being opened
can use '--log-level=INFO --verbose' without being bothered
by an avalanche of extra verbose debugging output.

-t/--terse option will silence certain non-essential output, at
the moment any HINTs.

Note that -v/--verbose and -t/--terse are not mutually exclusive
(suggestions for better names welcome).
This commit is contained in:
Ian Barwick
2015-11-16 13:06:32 +09:00
parent acc0ffa81f
commit 807dcc1038
4 changed files with 88 additions and 25 deletions

5
log.h
View File

@@ -121,8 +121,11 @@ bool logger_init(t_configuration_options * opts, const char *ident,
bool logger_shutdown(void);
void logger_min_verbose(int minimum);
void logger_set_verbose(void);
void logger_set_terse(void);
void log_hint(const char *fmt, ...);
void log_verbose(int level, const char *fmt, ...);
extern int log_type;
extern int log_level;