ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/logger.C
(Generate patch)

Comparing deliantra/server/common/logger.C (file contents):
Revision 1.8 by pippijn, Sat Jan 6 14:42:29 2007 UTC vs.
Revision 1.10 by root, Mon Jan 8 23:36:15 2007 UTC

20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 21
22 The authors can be reached via e-mail at <crossfire@schmorp.de> 22 The authors can be reached via e-mail at <crossfire@schmorp.de>
23*/ 23*/
24 24
25
26#include <stdarg.h> 25#include <stdarg.h>
27#include <global.h> 26#include <global.h>
28#include <funcpoint.h> 27#include <funcpoint.h>
29 28
30/* 29/*
39void 38void
40LOG (LogLevel logLevel, const char *format, ...) 39LOG (LogLevel logLevel, const char *format, ...)
41{ 40{
42 if (logLevel <= settings.debug) 41 if (logLevel <= settings.debug)
43 { 42 {
44 char buf[20480]; /* This needs to be really really big - larger 43 char msec[20];
45 * than any other buffer, since that buffer may 44 char buf[20460];
46 * need to be put in this one.
47 */
48 char tbuf[20480]; 45 char tbuf[20480];
49 46
50 time_t curtime = time (NULL); 47 struct timeval tv;
48 gettimeofday (&tv, 0);
51 struct tm *ptime = localtime (&curtime); 49 struct tm *ptime = localtime (&tv.tv_sec);
52 50
53 strftime (tbuf, 256, "%Y-%m-%d %H:%M:%S ", ptime); 51 strftime (tbuf, sizeof (tbuf), "%Y-%m-%d %H:%M:%S", ptime);
52 sprintf (msec, ".%03d ", (int)(tv.tv_usec / 1000));
54 53
55 va_list ap; 54 va_list ap;
55 va_start (ap, format);
56 vsnprintf (buf, sizeof (buf), format, ap);
57 va_end (ap);
56 58
57 va_start (ap, format); 59 strncat (tbuf, msec, sizeof (tbuf));
60 strncat (tbuf, buf, sizeof (tbuf));
58 61
59 vsnprintf (buf, sizeof (buf), format, ap);
60 strncat (tbuf, buf, 20460);
61 fputs (tbuf, logfile); 62 fputs (tbuf, logfile);
62 fputs (tbuf, stderr); 63 fputs (tbuf, stderr);
63
64 va_end (ap);
65 } 64 }
66} 65}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines