From 885bc122dfe127235191d4e14182dda62034f847 Mon Sep 17 00:00:00 2001 From: Ian Barwick Date: Tue, 25 Apr 2017 08:22:58 +0900 Subject: [PATCH] Improve logging output --- dbutils.c | 2 ++ log.c | 16 +++++++++++++++- log.h | 2 ++ repmgr-client.c | 7 +++---- repmgr.test.conf | 2 +- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/dbutils.c b/dbutils.c index 93b98b61..f5d7c8d6 100644 --- a/dbutils.c +++ b/dbutils.c @@ -72,6 +72,8 @@ _establish_db_connection(const char *conninfo, const bool exit_on_error, const b log_error(_("connection to database failed: %s"), PQerrorMessage(conn)); } + log_detail(_("attempted to connect using:\n %s"), + connection_string); } if (exit_on_error) diff --git a/log.c b/log.c index 68bb0b04..ad5bf648 100644 --- a/log.c +++ b/log.c @@ -55,7 +55,7 @@ _stderr_log_with_level(const char *level_name, int level, const char *fmt, va_li /* * Store the requested level so that if there's a subsequent - * log_hint(), we can suppress that if appropriate. + * log_hint() or log_detail(), we can suppress that if appropriate. */ last_log_level = level; @@ -97,6 +97,20 @@ log_hint(const char *fmt, ...) } +void +log_detail(const char *fmt, ...) +{ + va_list ap; + + if (terse_logging == false) + { + va_start(ap, fmt); + _stderr_log_with_level("DETAIL", last_log_level, fmt, ap); + va_end(ap); + } +} + + void log_verbose(int level, const char *fmt, ...) { diff --git a/log.h b/log.h index 5694abb0..a8f02024 100644 --- a/log.h +++ b/log.h @@ -114,6 +114,8 @@ bool logger_shutdown(void); void logger_set_verbose(void); void logger_set_terse(void); +void log_detail(const char *fmt, ...) +__attribute__((format(PG_PRINTF_ATTRIBUTE, 1, 2))); void log_hint(const char *fmt, ...) __attribute__((format(PG_PRINTF_ATTRIBUTE, 1, 2))); void log_verbose(int level, const char *fmt, ...) diff --git a/repmgr-client.c b/repmgr-client.c index b5c7a93c..5524484d 100644 --- a/repmgr-client.c +++ b/repmgr-client.c @@ -446,9 +446,9 @@ do_master_register(void) log_info(_("connecting to master database...")); - // XXX if con fails, have this print offending conninfo! conn = establish_db_connection(config_file_options.conninfo, true); log_verbose(LOG_INFO, _("connected to server, checking its state")); + /* verify that node is running a supported server version */ check_server_version(conn, "master", true, NULL); @@ -575,10 +575,9 @@ do_master_register(void) commit_transaction(conn); PQfinish(conn); - log_notice(_("master node %s with id %i (conninfo: %s)"), - record_found ? "updated" : "registered", + log_notice(_("master node record (id: %i) %s"), config_file_options.node_id, - config_file_options.conninfo); + record_found ? "updated" : "registered"); return; } diff --git a/repmgr.test.conf b/repmgr.test.conf index ca35c751..d8c068b0 100644 --- a/repmgr.test.conf +++ b/repmgr.test.conf @@ -6,5 +6,5 @@ node=1 node_id=1 node_name='node1' use_replication_slots = true -conninfo = 'host=127.0.0.1 dbname=repmgr user=repmgr port=5501' +conninfo = 'host=127.0.0.1 dbname=repmgr user=repmgr port=5501 connect_timeout=2' loglevel = 'DEBUG' \ No newline at end of file