Friday, July 02, 2004
Simple Logging Facility
If you're familiar with programming, you'll know why it's "1% coding, 99% debugging". In order to ease debugging sessions, it's useful to be able to track what's going on in the debugged application. In C, you can have very simple, yet effective poor-man's logging using the following code snippet:
#include <stdarg.h> #include <stdio.h> static void log( char* string, ... ) { va_list parameter; char output[256]; FILE *f; va_start( parameter, string ); vsnprintf( output, 255, string, parameter ); f = fopen( "output.log", "at" ); fprintf( f, "%s\n", output ); fclose( f ); }Then, wherever you want to record something, call the function log above, for example log("writing to file %s", filename). Pretty easy, isn't it? Of course, there's still enough room for improvement. It's left as an exercise for the reader :-P