X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Flog.c;h=b001c3158278c733cd11a88d15dd379733eb5bba;hp=6b82bcdcf85665f971f1952665de956ebc3fb6ef;hb=6f2f82e34ee173a0626432b57ebcbb8375e83a68;hpb=3e6398d15008d68aa36b0b985a18f142fcfa9a8f diff --git a/src/log.c b/src/log.c index 6b82bcd..b001c31 100644 --- a/src/log.c +++ b/src/log.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -55,6 +56,7 @@ static char l_fname[512] = ""; static char l_old_default_format[] = "%H:%M:%S-%d/%m"; static char l_new_default_format[] = "%Y%m%d-%H%M%S"; #define TIMEFORMAT_LEN 50 +#define TID_LEN 30 static char l_custom_format[TIMEFORMAT_LEN] = ""; static char *l_actual_format = l_old_default_format; @@ -79,7 +81,8 @@ static struct { { YLOG_LOG, "log" }, { YLOG_ERRNO, ""}, { YLOG_MALLOC, "malloc"}, - { YLOG_APP, "app" }, + { YLOG_TID, "tid" }, + { YLOG_APP, "app" }, { YLOG_NOTIME, "notime" }, { YLOG_APP2, "app2" }, { YLOG_APP3, "app3" }, @@ -382,6 +385,7 @@ static void yaz_log_to_file(int level, const char *log_message) if (file) { char tbuf[TIMEFORMAT_LEN]; + char tid[TID_LEN]; char flags[1024]; int i; @@ -411,7 +415,16 @@ static void yaz_log_to_file(int level, const char *log_message) } if (tbuf[0]) strcat(tbuf, " "); - fprintf(file, "%s%s%s %s%s\n", tbuf, l_prefix, flags, l_prefix2, + tid[0] = '\0'; + + if (l_level & YLOG_TID) + { + yaz_thread_id_cstr(tid, sizeof(tid)-1); + if (tid[0]) + strcat(tid, " "); + } + + fprintf(file, "%s%s%s%s %s%s\n", tbuf, l_prefix, tid, flags, l_prefix2, log_message); if (l_level & YLOG_FLUSH) fflush(file);