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.7 by root, Sat Dec 30 10:16:10 2006 UTC vs.
Revision 1.10 by root, Mon Jan 8 23:36:15 2007 UTC

1/* 1/*
2 CrossFire, A Multiplayer game for X-windows 2 CrossFire, A Multiplayer game for X-windows
3 3
4 Copyright (C) 2005, 2006, 2007 Marc Lehmann & Crossfire+ Development Team
4 Copyright (C) 2002 Mark Wedel & Crossfire Development Team 5 Copyright (C) 2002 Mark Wedel & Crossfire Development Team
5 Copyright (C) 1992 Frank Tore Johansen 6 Copyright (C) 1992 Frank Tore Johansen
6 7
7 This program is free software; you can redistribute it and/or modify 8 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by 9 it under the terms of the GNU General Public License as published by
19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 21
21 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>
22*/ 23*/
23 24
24
25#include <stdarg.h> 25#include <stdarg.h>
26#include <global.h> 26#include <global.h>
27#include <funcpoint.h> 27#include <funcpoint.h>
28 28
29/* 29/*
38void 38void
39LOG (LogLevel logLevel, const char *format, ...) 39LOG (LogLevel logLevel, const char *format, ...)
40{ 40{
41 if (logLevel <= settings.debug) 41 if (logLevel <= settings.debug)
42 { 42 {
43 char buf[20480]; /* This needs to be really really big - larger 43 char msec[20];
44 * than any other buffer, since that buffer may 44 char buf[20460];
45 * need to be put in this one.
46 */
47 char tbuf[20480]; 45 char tbuf[20480];
48 46
49 time_t curtime = time (NULL); 47 struct timeval tv;
48 gettimeofday (&tv, 0);
50 struct tm *ptime = localtime (&curtime); 49 struct tm *ptime = localtime (&tv.tv_sec);
51 50
52 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));
53 53
54 va_list ap; 54 va_list ap;
55 va_start (ap, format);
56 vsnprintf (buf, sizeof (buf), format, ap);
57 va_end (ap);
55 58
56 va_start (ap, format); 59 strncat (tbuf, msec, sizeof (tbuf));
60 strncat (tbuf, buf, sizeof (tbuf));
57 61
58 vsnprintf (buf, sizeof (buf), format, ap);
59 strncat (tbuf, buf, 20460);
60 fputs (tbuf, logfile); 62 fputs (tbuf, logfile);
61 fputs (tbuf, stderr); 63 fputs (tbuf, stderr);
62
63 va_end (ap);
64 } 64 }
65} 65}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines