#include "pch.h" #include "Logger.h" bool Logger::Initialize(UINT logLevel, const char* logFileName, int logArchiveAboveSize, int logMaxArchiveFiles) { try { _logger = spdlog::rotating_logger_mt(".", logFileName, logArchiveAboveSize, logMaxArchiveFiles); _logger->set_level((spdlog::level::level_enum)logLevel); _logger->set_pattern("%Y-%m-%d %H:%M:%S.%e|%l|%s:%!|%v"); _logger->flush_on(spdlog::level::warn); spdlog::flush_every(std::chrono::seconds(5)); } catch (const spdlog::spdlog_ex&) { return false; } return true; } void Logger::SetLevel(spdlog::level::level_enum logLevel) { assert(_logger); _logger->flush(); _logger->set_level(logLevel); static const char* LOG_LEVELS[7] = { "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "CRITICAL", "OFF" }; Info(fmt::format("当前日志级别:{}", LOG_LEVELS[logLevel])); }