mirror of
https://github.com/0O0o0oOoO00/Alas.git
synced 2026-05-14 20:39:26 +08:00
40 lines
1.4 KiB
C++
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;
|
|
}
|