#pragma once #include #include "logger_settings.h" class Logger { private: std::shared_ptr logger; public: Logger(); Logger(std::string loggerName, std::wstring logFilePath, std::wstring_view logSettingsPath); // log message should not be localized template void trace(const FormatString& fmt, const Args&... args) { this->logger->trace(fmt, args...); } // log message should not be localized template void debug(const FormatString& fmt, const Args&... args) { this->logger->debug(fmt, args...); } // log message should not be localized template void info(const FormatString& fmt, const Args&... args) { this->logger->info(fmt, args...); } // log message should not be localized template void warn(const FormatString& fmt, const Args&... args) { this->logger->warn(fmt, args...); } // log message should not be localized template void error(const FormatString& fmt, const Args&... args) { this->logger->error(fmt, args...); } // log message should not be localized template void critical(const FormatString& fmt, const Args&... args) { this->logger->critical(fmt, args...); } ~Logger(); };