No subject

59452-JH BuehlerBLU123 jhpb at granjon.ATT.COM
Sat May 5 04:13:40 AEST 1990


I usually use a varargs routine, which in turn uses vsprintf().  This
lets me put what arguments in I like, and gets rid of the double
parentheses required in the #define solutions for similar functionality.

To get rid of the function calls when they're not needed, you can use
the #define trick and let the compiler optimize the function calls out.

e.g.,

#ifdef DEBUG
#	define LOG log
#else
#	define LOG if (0) log
#endif

LOG(level, "example %d", 1);

The log() I use puts in a time stamp, the process id, makes funny
characters visible, and writes it to a log file that gets renamed
elsewhere when the ulimit is hit.

Joe Buehler



More information about the Comp.lang.c mailing list