… | |
… | |
57 | SMUTEX_UNLOCK (fdlock); |
57 | SMUTEX_UNLOCK (fdlock); |
58 | |
58 | |
59 | return old; |
59 | return old; |
60 | } |
60 | } |
61 | |
61 | |
62 | #define PREFIX_LEN sizeof ("0000-00-00 00:00:00.0000+") - 1 |
62 | #define PREFIX_LEN sizeof ("0000-00-00 00:00:00.0000 L+") - 1 |
63 | |
63 | |
64 | static void |
64 | static void |
65 | log_sync (logline &line) |
65 | log_sync (logline &line) |
66 | { |
66 | { |
|
|
67 | static const char levelchar [16+1] = "EWIDt???????????"; |
67 | struct tm lt; |
68 | struct tm lt; |
68 | char pfx [PREFIX_LEN]; |
69 | char pfx [PREFIX_LEN]; |
69 | |
70 | |
70 | localtime_r (&line.tv.tv_sec, <); |
71 | localtime_r (&line.tv.tv_sec, <); |
71 | |
72 | |
72 | sprintf (pfx, "%04d-%02d-%02d %02d:%02d:%02d.%04d", |
73 | sprintf (pfx, "%04d-%02d-%02d %02d:%02d:%02d.%04d %c", |
73 | lt.tm_year + 1900, |
74 | lt.tm_year + 1900, |
74 | lt.tm_mon + 1, |
75 | lt.tm_mon + 1, |
75 | lt.tm_mday, |
76 | lt.tm_mday, |
76 | lt.tm_hour, |
77 | lt.tm_hour, |
77 | lt.tm_min, |
78 | lt.tm_min, |
78 | lt.tm_sec, |
79 | lt.tm_sec, |
79 | (int)(line.tv.tv_usec / 100) |
80 | (int)(line.tv.tv_usec / 100), |
|
|
81 | levelchar [line.flags & 15] |
80 | ); |
82 | ); |
81 | |
83 | |
82 | pfx [PREFIX_LEN - 1] = line.flags & logSync ? '=' : ' '; |
84 | pfx [PREFIX_LEN - 1] = line.flags & logSync ? '=' : ' '; |
83 | |
85 | |
84 | struct iovec iov [2]; |
86 | struct iovec iov [2]; |