summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/wsrep_mysqld.cc11
-rw-r--r--sql/wsrep_mysqld.h9
2 files changed, 13 insertions, 7 deletions
diff --git a/sql/wsrep_mysqld.cc b/sql/wsrep_mysqld.cc
index 2854a9b162a..947492e2b73 100644
--- a/sql/wsrep_mysqld.cc
+++ b/sql/wsrep_mysqld.cc
@@ -246,6 +246,17 @@ static void wsrep_log_cb(wsrep_log_level_t level, const char *msg) {
}
}
+void wsrep_log(void (*fun)(const char *, ...), const char *format, ...)
+{
+ va_list args;
+ char msg[1024];
+ va_start(args, format);
+ vsnprintf(msg, sizeof(msg) - 1, format, args);
+ va_end(args);
+ (fun)("WSREP: %s", msg);
+}
+
+
static void wsrep_log_states (wsrep_log_level_t const level,
const wsrep_uuid_t* const group_uuid,
wsrep_seqno_t const group_seqno,
diff --git a/sql/wsrep_mysqld.h b/sql/wsrep_mysqld.h
index 7eae366df7a..fb46cda7019 100644
--- a/sql/wsrep_mysqld.h
+++ b/sql/wsrep_mysqld.h
@@ -192,13 +192,8 @@ extern wsrep_seqno_t wsrep_locked_seqno;
? wsrep_forced_binlog_format : (ulong)(my_format))
// prefix all messages with "WSREP"
-#define WSREP_LOG(fun, ...) \
- do { \
- char msg[1024] = {'\0'}; \
- snprintf(msg, sizeof(msg) - 1, ## __VA_ARGS__); \
- fun("WSREP: %s", msg); \
- } while(0)
-
+void wsrep_log(void (*fun)(const char *, ...), const char *format, ...);
+#define WSREP_LOG(fun, ...) wsrep_log(fun, ## __VA_ARGS__)
#define WSREP_LOG_CONFLICT_THD(thd, role) \
WSREP_LOG(sql_print_information, \
"%s: \n " \