[PATCH] Include milliseconds in logging

"Vincent CHAVANIS" <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <001f01c852ac$d5af7f00$9600a8c0@VINCE>
First of all,
I wish you a Happy new year to the list,

Then as many people asked about this feature
Introducing --enable-millisec-log that will enable logging in millisecond.
by default, this is disabled.

Any comments ?

Vincent.


----- Original Message ----- 
From: "Stipe Tolj" <[email protected]>
To: "Vincent CHAVANIS" <[email protected]>
Cc: <[email protected]>
Sent: Thursday, November 29, 2007 10:50 PM
Subject: Re: Include miliseconds in logging


> Vincent CHAVANIS schrieb:
>> I thought about a macro :-)
>
> a pre-processdor macro is resolved at compile time, so this is same as at
> configure time ;)
>
> a macro is not "dynamic" while runtime.
>
> Stipe
>
> -------------------------------------------------------------------
> Kölner Landstrasse 419
> 40589 Düsseldorf, NRW, Germany
>
> tolj.org system architecture      Kannel Software Foundation (KSF)
> http://www.tolj.org/              http://www.kannel.org/
>
> mailto:st_{at}_tolj.org           mailto:stolj_{at}_kannel.org
> -------------------------------------------------------------------
>
millisec_patch_macro.txt (text/plain, 3.3 KB)
diff -rauw /gateway-cvs/configure /gateway/configure
--- /gateway-cvs/configure      2007-04-04 02:39:45.000000000 +0200
+++ /gateway/configure  2008-01-09 11:03:54.000000000 +0100
@@ -854,6 +854,7 @@
   --enable-pam           enable pam authentication disabled
   --enable-debug         enable non-reentrant debugging for wmls compiler disabled
   --enable-localtime     log file time stamps in local time, not GMT enabled
+  --enable-millisec-log   log file time stamps in milliseconds
   --enable-mutex-stats    produce information about lock contention
   --disable-cookies       disable cookie support for WSP enabled
   --disable-keepalive     disable HTTP/1.1 keep-alive support enabled
@@ -10051,6 +10052,19 @@
 fi;
 
 
+# Check whether --enable-millisec-log was given.
+if test "${enable_millisec_log+set}" = set; then
+  enableval="$enable_millisec_log"
+
+  if test "$enableval" = yes; then
+     echo enabling milliseconds in our logs
+     cat >>confdefs.h <<\_ACEOF
+#define LOG_MILLISEC 1
+_ACEOF
+  fi
+fi;
+
+
 
 # Check whether --enable-mutex-stats or --disable-mutex-stats was given.
 if test "${enable_mutex_stats+set}" = set; then
Seulement dans /gateway: configure64.sh
diff -rauw /gateway-cvs/configure.in /gateway/configure.in
--- /gateway-cvs/configure.in   2007-04-04 02:39:44.000000000 +0200
+++ /gateway/configure.in       2008-01-09 11:23:58.000000000 +0100
@@ -698,6 +698,14 @@
   AC_DEFINE(LOG_TIMESTAMP_LOCALTIME)
 ])
 
+dnl Implement --enable-millisec-log option.
+
+AC_ARG_ENABLE(log_millisec,
+[  --enable-millisec-log    log file time stamps in milliseconds], [
+  if test "$enableval" = yes; then
+      AC_DEFINE(LOG_MILLISEC)  
+  fi
+])  
 
 dnl --enable-mutex-stats option.
 

--- /gateway-cvs/gwlib/log.c    2007-01-26 17:18:33.000000000 +0100
+++ /gateway/gwlib/log.c        2008-01-09 10:51:29.000000000 +0100
@@ -370,6 +370,11 @@
     char *p, prefix[1024];
     long tid, pid;
     
+#if LOG_MILLISEC
+    struct timeval tv;
+    gettimeofday(&tv, 0);
+#endif
+
     p = prefix;
 
     if (with_timestamp) {
@@ -379,10 +384,16 @@
 #else
         tm = gw_gmtime(t);
 #endif
+
+#if LOG_MILLISEC
+        sprintf(p, "%04d-%02d-%02d %02d:%02d:%02d.%03d ",
+        tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
+        tm.tm_hour, tm.tm_min, tm.tm_sec, tv.tv_usec/1000);
+#else
         sprintf(p, "%04d-%02d-%02d %02d:%02d:%02d ",
         tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
         tm.tm_hour, tm.tm_min, tm.tm_sec);
-    
+#endif    
         p = strchr(p, '\0');
     }
 

diff -rauw /gateway-cvs/gwlib/accesslog.c /gateway/gwlib/accesslog.c
--- /gateway-cvs/gwlib/accesslog.c      2007-01-08 00:52:57.000000000 +0100
+++ /gateway/gwlib/accesslog.c  2008-01-09 10:51:54.000000000 +0100
@@ -177,6 +177,11 @@
     struct tm tm;
     char *p, prefix[1024];
 
+#if LOG_MILLISEC
+    struct timeval tv;
+    gettimeofday(&tv, 0);    
+#endif
+
     p = prefix;
 
     if (markers) {
@@ -186,9 +191,16 @@
         else
             tm = gw_gmtime(t);
 
+#if LOG_MILLISEC
+        sprintf(p, "%04d-%02d-%02d %02d:%02d:%02d.%03d ",
+        tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
+        tm.tm_hour, tm.tm_min, tm.tm_sec, tv.tv_usec/1000);
+#else   
         sprintf(p, "%04d-%02d-%02d %02d:%02d:%02d ",
                 tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
                 tm.tm_hour, tm.tm_min, tm.tm_sec);
+#endif
+
     } else {
         *p = '\0';
     }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.