diff --git a/common/utils/T/tracer/logger/textlog.c b/common/utils/T/tracer/logger/textlog.c
index ea7f9c8a93f214a2c0a921614322d6508bd9d5e1..a9503b95109a7c977a0c2c74709932bfd50efa69 100644
--- a/common/utils/T/tracer/logger/textlog.c
+++ b/common/utils/T/tracer/logger/textlog.c
@@ -47,8 +47,8 @@ static void _event(void *p, event e)
 #ifdef T_SEND_TIME
   t = localtime(&e.sending_time.tv_sec);
   /* round tv_nsec to nearest millisecond */
-  sprintf(tt, "%2.2d:%2.2d:%2.2d.%3.3d: ", t->tm_hour, t->tm_min, t->tm_sec,
-      (int)((e.sending_time.tv_nsec/(1000000/2)+1)/2));
+  sprintf(tt, "%2.2d:%2.2d:%2.2d.%9.9ld: ", t->tm_hour, t->tm_min, t->tm_sec,
+      e.sending_time.tv_nsec);
   PUTS(&l->o, tt);
 #endif