aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/support/log_win32.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/support/log_win32.c')
-rw-r--r--src/core/support/log_win32.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/core/support/log_win32.c b/src/core/support/log_win32.c
index e1cf6fb10a..4c0a866048 100644
--- a/src/core/support/log_win32.c
+++ b/src/core/support/log_win32.c
@@ -38,6 +38,7 @@
#include <grpc/support/log_win32.h>
#include <grpc/support/log.h>
#include <grpc/support/alloc.h>
+#include <grpc/support/time.h>
#include <stdio.h>
#include <stdarg.h>
@@ -75,8 +76,20 @@ void gpr_log(const char *file, int line, gpr_log_severity severity,
/* Simple starter implementation */
void gpr_default_log(gpr_log_func_args *args) {
- fprintf(stderr, "%s.%u %s:%d: %s\n",
- gpr_log_severity_string(args->severity), GetCurrentThreadId(),
+ char time_buffer[64];
+ gpr_timespec now = gpr_now();
+ struct tm tm;
+
+ if (localtime_s(&tm, &now.tv_sec)) {
+ strcpy(time_buffer, "error:localtime");
+ } else if (0 ==
+ strftime(time_buffer, sizeof(time_buffer), "%m%d %H:%M:%S", &tm)) {
+ strcpy(time_buffer, "error:strftime");
+ }
+
+ fprintf(stderr, "%s%s.%09u %5u %s:%d: %s\n",
+ gpr_log_severity_string(args->severity), time_buffer,
+ (int)(now.tv_nsec), GetCurrentThreadId(),
args->file, args->line, args->message);
}