/**
* Function: Setup a printf like function to accept
* variable number of parameters. Used in activity logging
* in programs.
* Author: Asanga Udugama (adu@comnets.uni-bremen.de)
* License: GPL
*/
#include <stdio.h>

#define LOG_LEVEL_ONE					1
#define LOG_LEVEL_TWO					2
#define WRITE_LOG(ll, lb, fmt...)		{sprintf(lb, ## fmt); write_to_log(ll, lb);} 

int write_to_log(int level, char *buf);


#define USER_PREF_LOG_LEVEL				2

int write_to_log(int level, char *buf) {
	if(level <= USER_PREF_LOG_LEVEL) {
		printf(buf);
		printf("\n");
	}

}


int main(int argc, char *argv[])
{
	char buffer[1024];
	char var1[] = "Var 1";
	int  var2 = 2;
	float var3 = 3;	
	
	WRITE_LOG(LOG_LEVEL_TWO, buffer, "With variables %d %s %s and %f \n", var2, var1, "Var 4", var3);
	WRITE_LOG(LOG_LEVEL_ONE, buffer, "Without variables !! \n");
}

 
