From 3b0d6c23adf9d26d54548fa58d01f865c36f4c18 Mon Sep 17 00:00:00 2001 From: vraatikka Date: Mon, 25 Nov 2013 10:49:45 +0200 Subject: [PATCH] log_manager.cc Commented why spread-down logging is disabled. In MaxScale start, log paths are printed in their complete form to make it easier to copy-paste the names. gateway.c Replaced print_signal_set_error with more general-purpose print_log_n_stderr which prints non-formatted messages to error log and to stderr to the point MaxScale switches to run in daemon process. After that only error log is printed. skyge_utils.cc polish --- log_manager/log_manager.cc | 16 +- server/core/gateway.c | 399 ++++++++++++++++++------------------- utils/skygw_utils.cc | 4 +- 3 files changed, 212 insertions(+), 207 deletions(-) diff --git a/log_manager/log_manager.cc b/log_manager/log_manager.cc index ec090c043..e1bf72cf7 100644 --- a/log_manager/log_manager.cc +++ b/log_manager/log_manager.cc @@ -683,6 +683,10 @@ static int logmanager_write_log( wp[timestamp_len-1+str_len-1]='\n'; blockbuf_unregister(bb); + /** + * disable because cross-blockbuffer locking either causes deadlock + * or run out of memory blocks. + */ if (spread_down && false) { /** * Write to target log. If spread_down == true, then @@ -1472,18 +1476,20 @@ static bool fnames_conf_init( ss_dfprintf(stderr, "\n");*/ fprintf(stderr, - "Log directory :\t%s\n" - "Error log :\t%s1%s\n" - "Message log :\t%s1%s\n" - "Trace log :\t%s1%s\n" - "Debug log :\t%s1%s\n\n", + "Error log :\t%s/%s1%s\n" + "Message log :\t%s/%s1%s\n" + "Trace log :\t%s/%s1%s\n" + "Debug log :\t%s/%s1%s\n\n", fn->fn_logpath, fn->fn_err_prefix, fn->fn_err_suffix, + fn->fn_logpath, fn->fn_msg_prefix, fn->fn_msg_suffix, + fn->fn_logpath, fn->fn_trace_prefix, fn->fn_trace_suffix, + fn->fn_logpath, fn->fn_debug_prefix, fn->fn_debug_suffix); diff --git a/server/core/gateway.c b/server/core/gateway.c index 6ccbdf621..416ca4d90 100644 --- a/server/core/gateway.c +++ b/server/core/gateway.c @@ -326,24 +326,57 @@ return_succp: return succp; } -static void print_signal_set_error( - int sig, - int eno) + +/** + * @node Provides error printing for non-formatted error strings. + * + * Parameters: + * @param do_log - in, use + * is printing to log enabled + * + * @param do_stderr - in, use + * is printing to stderr enabled + * + * @param logerr - in, use + * string to be printed to log + * + * @param fprerr - in, use + * string to be printed to stderr + * + * @param eno - in, use + * errno, if it is set, zero, otherwise + * + * @return void + * + */ +static void print_log_n_stderr( + bool do_log, /**sf_fname)+2); snprintf(header_buf2, strlen(file->sf_fname)+2, "%s ", file->sf_fname); header_buf3 = strdup(asctime(tm)); - header_buf4 = "---------------------------------------------------------" - "---------------------------\n"; + header_buf4 = "------------------------------------------------------" + "-----------------\n"; if (header_buf2 == NULL) { goto return_succp;