| 60 | } |
| 61 | |
| 62 | void InitTENLog(const std::string& logDirContainingDir) |
| 63 | { |
| 64 | auto logDir = std::filesystem::path(logDirContainingDir) / "Logs"; |
| 65 | std::filesystem::create_directories(logDir); |
| 66 | |
| 67 | // Remove oldest logs if over the limit. |
| 68 | CleanupOldLogs(logDir); |
| 69 | |
| 70 | // Create unique filename. |
| 71 | std::string filename = "TENLog_" + GetTimestampString() + ".txt"; |
| 72 | auto logPath = logDir / filename; |
| 73 | |
| 74 | auto fileSink = std::make_shared<spdlog::sinks::basic_file_sink_mt>(logPath.string(), true); |
| 75 | auto consoleSink = std::make_shared<spdlog::sinks::stdout_color_sink_mt>(); |
| 76 | |
| 77 | auto logger = std::make_shared<spdlog::logger>("multi_sink", spdlog::sinks_init_list{ fileSink, consoleSink }); |
| 78 | |
| 79 | spdlog::initialize_logger(logger); |
| 80 | logger->set_level(spdlog::level::info); |
| 81 | logger->flush_on(spdlog::level::info); |
| 82 | logger->set_pattern("[%Y-%b-%d %T] [%^%l%$] %v"); |
| 83 | } |
| 84 | |
| 85 | void ShutdownTENLog() |
| 86 | { |
no test coverage detected