Magpie/Runtime/Logger.cpp
2022-02-18 15:45:43 +08:00

29 lines
850 B
C++

#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]));
}