#ifndef H_Logger #define H_Logger #include #include #include #include /// @brief Implementation of the Logger class to print messages to the console. It is defined as a template class to save the .cpp file. template class Logger_impl { public: // static constexpr char date_format[] = "%FT%T%z";// Works on Linux but not on Windows... static constexpr char date_format[] = "%Y-%m-%dT%H:%M:%S"; static void log(const std::string& message) { auto now = std::chrono::system_clock::now(); std::time_t now_time = std::chrono::system_clock::to_time_t(now); std::cout << std::put_time(std::localtime(&now_time), date_format) << " " << message << std::endl; } static void error(const std::string& message) { auto now = std::chrono::system_clock::now(); std::time_t now_time = std::chrono::system_clock::to_time_t(now); std::cerr << std::put_time(std::localtime(&now_time), date_format) << " ERROR: " << message << std::endl; } }; /// @brief Logger class to print messages to the console. using Logger = Logger_impl<1>; #endif