#include "Socket/Log.hpp" #include "precomp.hpp" #include "spdlog/spdlog.h" namespace Chattr::log { void critical(gsl::czstring msg) { #ifdef _WIN32 gsl::zstring msgbuf = nullptr; FormatMessageA( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, WSAGetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), msgbuf, 0, NULL); spdlog::critical("[{}] {}", msg, msgbuf); LocalFree(msgbuf); #elif __linux__ gsl::czstring msgbuf = strerror(errno); spdlog::critical("[{}] {}", msg, msgbuf); #else #error "이 플랫폼은 지원되지 않습니다." #endif std::exit(EXIT_FAILURE); } void error(gsl::czstring msg) { #ifdef _WIN32 gsl::zstring msgbuf = nullptr; FormatMessageA( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, WSAGetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), msgbuf, 0, NULL); spdlog::error("[{}] {}", msg, msgbuf); LocalFree(msgbuf); #elif __linux__ gsl::czstring msgbuf = strerror(errno); spdlog::error("[{}] {}", msg, msgbuf); #else #error "이 플랫폼은 지원되지 않습니다." #endif } }