#pragma once

#include "log.hpp"
#include <sstream>

#define LOG_INFO(expr) \
    do { \
        std::ostringstream _oss; \
        _oss << expr; \
        Logger::instance().log("INFO", _oss.str()); \
    } while (0)

#define LOG_WARN(expr) \
    do { \
        std::ostringstream _oss; \
        _oss << expr; \
        Logger::instance().log("WARN", _oss.str()); \
    } while (0)

#define LOG_ERROR(expr) \
    do { \
        std::ostringstream _oss; \
        _oss << expr; \
        Logger::instance().log("ERROR", _oss.str()); \
    } while (0)
