diff --git a/common/utils/T/tracer/logger/textlog.c b/common/utils/T/tracer/logger/textlog.c
index 2efbc8b1aa2c94d8a084b7e274f3504749a155e6..4a69a9619ac8940728bbd27efb5fc40b16213075 100644
--- a/common/utils/T/tracer/logger/textlog.c
+++ b/common/utils/T/tracer/logger/textlog.c
@@ -37,9 +37,21 @@ static void _event(void *p, event e)
 {
   struct textlog *l = p;
   int i;
+#ifdef T_SEND_TIME
+  struct tm *t;
+  char tt[64];
+#endif
 
   l->o.osize = 0;
 
+#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));
+  PUTS(&l->o, tt);
+#endif
+
   for (i = 0; i < l->fsize; i++)
   switch(l->f[i].type) {
   case INSTRING: PUTS(&l->o, l->f[i].s); break;