#include <stdio.h>

#include "logger.h"


LogLevel     global_log_level     = ALL;
OutputMethod global_output_method = STD_OUTPUT;

void discreteLog(LogLevel level,const char* header,const char* message)
{
    FILE* f = NULL;
    if(level > global_log_level)
    {
        switch(global_output_method)
        {
            case STD_OUTPUT:
                printf("\t - <%s> : '%s'\n",header,message);
                break;
            case ERR_OUTPUT:
                fprintf(stderr,"\t - <%s> : '%s'\n",header,message);
                break;
            case FILE_OUTPUT:
                f = fopen("log","a");
                if (f != NULL)
                {
                    fprintf(f, "\t - <%s> : '%s'\n",header,message);
                    fclose(f);
                }
                else
                {
                    perror("Unable to open log file");
                }
                break;
            default:
                // no log here
                break;
        }
    }
}
