#include "Common/Log.h" #include #include #include #include #include #include #include #include #ifdef _WIN32 #include #endif namespace NLog { static bool gInitialized = false; bool InitLog(const std::string& filename) { if (gInitialized) return true; try { std::vector sinks{ std::make_shared(), std::make_shared(filename, true), #ifdef _WIN32 std::make_shared(true) #endif }; auto logger = std::make_shared("axio", sinks.begin(), sinks.end()); logger->set_level(spdlog::level::debug); logger->info("Opened log file at: {:%m/%d/%y %H:%M:%S}", std::chrono::system_clock::now()); #ifdef APP_FULL_NAME logger->info("{}", APP_FULL_NAME "\n"); #endif logger->flush(); spdlog::register_logger(logger); gInitialized = true; return true; } catch (const spdlog::spdlog_ex& ex) { std::cerr << "Unable to initialize logger: " << ex.what() << '\n'; return false; } } }