mirror of
https://github.com/0O0o0oOoO00/Alas.git
synced 2026-05-20 06:59:32 +08:00
36 lines
784 B
C++
36 lines
784 B
C++
#include <spdlog/spdlog.h>
|
|
#include <thread>
|
|
#include <spdlog/sinks/basic_file_sink.h>
|
|
|
|
#include "logger.hpp"
|
|
#include "server.hpp"
|
|
|
|
void init_logger() {
|
|
std::vector<spdlog::sink_ptr> sinks = {
|
|
#ifdef DEBUG_MODE
|
|
std::make_shared<net_sink_mt>(),
|
|
#endif
|
|
std::make_shared<spdlog::sinks::basic_file_sink_mt>("cracker.log", false)
|
|
};
|
|
auto logger = std::make_shared<spdlog::logger>("Cracker", sinks.begin(), sinks.end());
|
|
spdlog::set_default_logger(logger);
|
|
}
|
|
|
|
void terminate_handler() {
|
|
spdlog::shutdown();
|
|
std::exit(-1);
|
|
}
|
|
|
|
void start() {
|
|
std::set_terminate(terminate_handler);
|
|
|
|
init_logger();
|
|
SPDLOG_INFO("Cracker loaded !");
|
|
CrackerServer::Start();
|
|
}
|
|
|
|
__attribute__((constructor))
|
|
void init() {
|
|
std::thread(start).detach();
|
|
}
|