#include "server.hpp" #include #include #include #include #include #define LOGGER_FORMAT "[%Y-%m-%d %H:%M:%S.%e] [%n] [%^%l%$] %v" void init_logger() { auto console_logger = std::make_shared(); console_logger->set_pattern(LOGGER_FORMAT); auto file_logger = std::make_shared("server.log", true); file_logger->set_pattern(LOGGER_FORMAT); std::vector server_sinks{console_logger, file_logger}; auto server_logger = std::make_shared("Server", server_sinks.begin(), server_sinks.end()); server_logger->set_pattern(LOGGER_FORMAT); spdlog::set_default_logger(server_logger); } int main(int argc, char* argv[]) { init_logger(); cxxopts::Options options("BlCrackUpdater"); options.add_options() ("p,port", "Port to listen on", cxxopts::value()->default_value("7541")) ("k,admin-key", "Admin key for the server", cxxopts::value()->default_value("BlCrackUpdater")); auto result = options.parse(argc, argv); int port = result["port"].as(); std::string admin_key = result["admin-key"].as(); UpdateServer::Instance().start(port, admin_key).join(); return 0; }