[Circle] [code] improved log

From: Ric Klaren (j.klaren@student.utwente.nl)
Date: 11/17/96


Hia,

Just a tidbit of code I had lying around, an improved log function using 
variable args... (compiled and 100% working on Linux system)

Add this to utils.h

extern void log( char *format, ... );

Add this to the top of utils.c

#include <stdarg.h>

And this somewhere in between:

/* writes a string to the log
 * New version, allows printf like call
 */
void log(char *format, ... )
{
   va_list args;
   time_t ct;
   char *tmstr;
   char buf[512];

   va_start( args, format );
   vsprintf( buf, format, args );

   ct = time(0);
   tmstr = asctime(localtime(&ct));
   *(tmstr + strlen(tmstr) - 1) = '\0';
   fprintf(stderr, "%-19.19s :: %s\n", tmstr, buf );

   va_end( args );
}

Ok what's the use of this: allows calls like

log("SYSERR: well somebody goofed up this time");
log("SYSERR: he goofed this up %s", buf );
log("SYSERR: he did it using a %ld", some_long_int );

I guess it makes the code a bit more readable (and shorter)

Could do the same to mudlog and send_char....

Enjoy....

Greetinx GrimReaper of Realms Of Frustration (130.89.230.13 4000)

-----+++++*****************************************************+++++++++-------
- Ric Klaren - j.klaren@student.utwente.nl - ia_ric@cs.utwente.nl -------------
-----+++++*****************************************************+++++++++-------
``Why don't we just invite them to dinner and massacre them all when
they're drunk?''
``You heard the man. There's seven hundred thousand of them.''
``Ah? So it'd have to be something simple with pasta, then.''
-------------------------------------------------------------------------------
From: Interesting Times by Terry Pratchet
-----+++++*****************************************************+++++++++-------

+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   http://cspo.queensu.ca/~fletcher/Circle/list_faq.html   |
+-----------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/18/00 PST