#include <stdarg.h>
#include <syslog.h>
#include <stdio.h>
#include "wmnetmon.h"
#include "logger.h"

int wheretolog;
FILE *loghandler;
char *logfile;

int init_log(int where,char *file)
{
	wheretolog=where;
	if (!where) return 1;
	if (where == LOG_USES_SYSLOG) {
		fprintf(stderr,"Starting to syslog\n");
		openlog("wmNetMon", LOG_PID, SYSLOG_FACILITY );	
	} else {
		loghandler=fopen(file,"a");
		if (!loghandler) {
			fprintf(stderr,"Unable to open log file \"%s\" - ", file);
			perror("open");
			return 0;
		}
	}
	return 1;
}

int do_log(char *format, ...)
{
	char logline[256];
	va_list args;
	va_start(args, format);
	switch(wheretolog) {
		case LOG_USES_SYSLOG:
			vsnprintf(logline,255, format,args);
			syslog(SYSLOG_LEVEL, logline);	
			break;
		case LOG_USES_LOGFILE:
			if (loghandler) vfprintf(loghandler, format,args);
	}
	return 0;	
}


syntax highlighted by Code2HTML, v. 0.9.1