#pragma once

#include <string>
#include <fstream>
#include <mutex>
#include <cstdarg>

class Logger
{
public:

    static void Open();
    static void Close();

    static void Debug(const std::string&, ...);
    static void Warning(const std::string&, ...);
    static void Error(const std::string&, ...);

private:

    static std::fstream _file;
    static std::mutex _locker;

    static void _out(const std::string&, const std::string&, va_list);
};
