Files
NP_Midterm/impl/Socket/Log.cpp

50 lines
1.2 KiB
C++

#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
}
}