/*
 * TestLogger.c
 *
 *  Created on: Dec 19, 2010
 *      Author: blackpanther
 */

#include <stdio.h>
#include <stdlib.h>

#include <string.h>

#include "configuration.h"

#include "logger.h"
#include "utilities.h"

#include "result.h"

#define MAX_ITERATION "max-iteration"

int main(int argc, char** argv) {
	xmlConfig_t *config;

	config = loadConfiguration("resources/test-Logger.xml");
	if( !config )
	{
		perror("Error while loading resources/test-Logger.xml");
		return -1;
	}

    resetToDefaultLogger();
    setLoggerLevel(ALL);

	logMessage(INFO,   "test info    level","success");
	logMessage(DEBUG1, "test debug1  level","success");
	logMessage(DEBUG2, "test debug2  level","success");
	logMessage(DEBUG3, "test debug3  level","success");
	logMessage(NORMAL, "test normal  level","success");
	logMessage(WARNING,"test warning level","success");
	logMessage(SEVERE, "test warning level","success");

	int i = 0;
	char *iteration_limit = getProperty(config,MAX_ITERATION);
	int limit = (iteration_limit)? atoi(iteration_limit) : 100;
	free(iteration_limit);

	logMessage(DEBUG1,"parameter : limit",integerToString(limit));

	for(i=0;i<=limit;i++)
	{
		sprintf(buffer,"%d iteration",i);
		logMessage(NORMAL,"filesize test",buffer);
	}

	makeDateLogger();

	logMessage(NORMAL,"date test","dummy message");

	sleep(2);

	stopLogger();

    return (EXIT_SUCCESS);
}

