#pragma once
#ifdef _WIN32
#define log(format, ...) _log(__FUNCTION__, format, __VA_ARGS__)
#define log_error(format, ...) _log_error(__FUNCTION__, format, __VA_ARGS__)
#else
#define log(format, ...) _log(__FUNCTION__, format __VA_OPT__(,) __VA_ARGS__)
#define log_error(format, ...) _log_error(__FUNCTION__, format __VA_OPT__(,) __VA_ARGS__)
#endif

void _log(const char* function_name, const char* format, ...);
void _log_error(const char* function_name, const char* format, ...);