[Groonga-commit] groonga/groonga at 4823b2f [master] logger: accept GRN_LOG_PID|GRN_LOG_THREAD_ID

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index