[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';
}