1
0
mirror of https://github.com/0O0o0oOoO00/Alas.git synced 2026-05-14 15:39:26 +08:00
Files
Alas/blcrack/updater/main.cpp
2025-03-23 19:47:41 +08:00

40 lines
1.4 KiB
C++

#include "server.hpp"
#include <spdlog/sinks/stdout_color_sinks.h>
#include <spdlog/sinks/basic_file_sink.h>
#include <spdlog/spdlog.h>
#include <vector>
#include <cxxopts.hpp>
#define LOGGER_FORMAT "[%Y-%m-%d %H:%M:%S.%e] [%n] [%^%l%$] %v"
void init_logger() {
auto console_logger = std::make_shared<spdlog::sinks::stdout_color_sink_mt>();
console_logger->set_pattern(LOGGER_FORMAT);
auto file_logger = std::make_shared<spdlog::sinks::basic_file_sink_mt>("server.log", true);
file_logger->set_pattern(LOGGER_FORMAT);
std::vector<spdlog::sink_ptr> server_sinks{console_logger, file_logger};
auto server_logger = std::make_shared<spdlog::logger>("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<int>()->default_value("7541"))
("k,admin-key", "Admin key for the server", cxxopts::value<std::string>()->default_value("BlCrackUpdater"));
auto result = options.parse(argc, argv);
int port = result["port"].as<int>();
std::string admin_key = result["admin-key"].as<std::string>();
UpdateServer::Instance().start(port, admin_key).join();
return 0;
}