윈도우용 코드 완성
This commit is contained in:
50
impl/Socket/Log.cpp
Normal file
50
impl/Socket/Log.cpp
Normal file
@@ -0,0 +1,50 @@
|
||||
#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
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user