#include "print.hpp"
#include <cstdio>

void Logger::log(const char* format, ...)
{
    va_list args;
    va_start(args, format);
    fprintf(stdout,"[LOG]: ");
    vfprintf(stdout,format, args);
    va_end(args);
    fflush(stdout);
}

void Logger::err(const char* format, ...)
{
    va_list args;
    va_start(args, format);
    fprintf(stderr, "[ERROR]: ");
    vfprintf(stderr, format, args);
    va_end(args);
    fflush(stderr);
}

void Logger::warn(const char* format, ...)
{
    va_list args;
    va_start(args, format);
    fprintf(stderr, "[WARN]: ");
    vfprintf(stderr, format, args);
    va_end(args);
    fflush(stderr);
}

void Logger::print(const char* format, ...)
{
    va_list args;
    va_start(args, format);
    vfprintf(stdout, format, args);
    va_end(args);
    fflush(stdout);
}

void Logger::println(const char* format, ...)
{
    va_list args;
    va_start(args, format);
    vfprintf(stdout, format, args);
    fprintf(stdout, "\n");
    va_end(args);
    fflush(stdout);
}
