Kouhei Sutou
null+****@clear*****
Mon Jul 30 17:16:18 JST 2018
Kouhei Sutou 2018-07-30 17:16:18 +0900 (Mon, 30 Jul 2018) New Revision: 4823b2f3d3d3bba0a7f7bbfe36020e51b865e8b3 https://github.com/groonga/groonga/commit/4823b2f3d3d3bba0a7f7bbfe36020e51b865e8b3 Message: logger: accept GRN_LOG_PID|GRN_LOG_THREAD_ID Modified files: lib/logger.c Modified: lib/logger.c (+27 -8) =================================================================== --- lib/logger.c 2018-07-30 16:38:50 +0900 (60ae721d1) +++ lib/logger.c 2018-07-30 17:16:18 +0900 (07d5a7c32) @@ -426,17 +426,36 @@ grn_logger_putv(grn_ctx *ctx, if (current_logger.flags & GRN_LOG_LOCATION) { grn_snprintf(lbuf, LBUFSIZE, LBUFSIZE, "%d %s:%d %s()", grn_getpid(), file, line, func); - } else if (current_logger.flags & GRN_LOG_PID) { - grn_snprintf(lbuf, LBUFSIZE, LBUFSIZE, - "%d", grn_getpid()); - } else if (current_logger.flags & GRN_LOG_THREAD_ID) { + } else { + char *lbuf_current = lbuf; + size_t lbuf_rest_size = LBUFSIZE; + lbuf[0] = '\0'; + lbuf_current = lbuf; + if (current_logger.flags & GRN_LOG_PID) { + size_t lbuf_size; + grn_snprintf(lbuf_current, lbuf_rest_size, lbuf_rest_size, + "%d", grn_getpid()); + lbuf_size = strlen(lbuf_current); + lbuf_current += lbuf_size; + lbuf_rest_size -= lbuf_size; + } + if (current_logger.flags & GRN_LOG_THREAD_ID) { + const char *prefix = ""; + size_t lbuf_size; + if (lbuf_current != lbuf) { + prefix = "|"; + } #ifdef HAVE_PTHREAD_H - grn_snprintf(lbuf, LBUFSIZE, LBUFSIZE, "%08x", (uint32_t)pthread_self()); + grn_snprintf(lbuf_current, lbuf_rest_size, lbuf_rest_size, + "%s%08x", prefix, (uint32_t)pthread_self()); #elif defined(WIN32) /* HAVE_PTHREAD_H */ - grn_snprintf(lbuf, LBUFSIZE, LBUFSIZE, "%08x", (uint32_t)GetCurrentThread()); + grn_snprintf(lbuf_current, lbuf_rest_size, lbuf_rest_size, + "%s%08x", prefix, (uint32_t)GetCurrentThread()); #endif /* HAVE_PTHREAD_H */ - } else { - lbuf[0] = '\0'; + lbuf_size = strlen(lbuf_current); + lbuf_current += lbuf_size; + lbuf_rest_size -= lbuf_size; + } } current_logger.log(ctx, level, tbuf, "", mbuf, lbuf, current_logger.user_data); -------------- next part -------------- HTML����������������������������... URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20180730/c548cd86/attachment-0001.htm