#include "logger.hh" #include #include void LogMe::Logger::set_debug_level(logging_level level) { level_ = level; } void LogMe::Logger::log(logging_level level, const std::string& msg) { if (level_ >= level) { switch (level) { case DEBUG: debug(msg); break; case INFO: info(msg); break; case WARN: warn(msg); break; case CRITICAL: critical(msg); break; case ERROR: error(msg); break; } } } void LogMe::Logger::debug(const std::string& msg) { if (!output_stream_.is_open()) std::cerr << "[DEBUG] - " << msg << "\n"; else output_stream_ << "[DEBUG] - " << msg << "\n"; } void LogMe::Logger::info(const std::string& msg) { if (!output_stream_.is_open()) std::cerr << "[INFO] - " << msg << "\n"; else output_stream_ << "[INFO] - " << msg << "\n"; } void LogMe::Logger::warn(const std::string& msg) { if (!output_stream_.is_open()) std::cerr << "[WARN] - " << msg << "\n"; else output_stream_ << "[WARN] - " << msg << "\n"; } void LogMe::Logger::error(const std::string& msg) { if (!output_stream_.is_open()) std::cerr << "[ERROR] - " << msg << "\n"; else output_stream_ << "[ERROR] - " << msg << "\n"; } void LogMe::Logger::critical(const std::string& msg) { if (!output_stream_.is_open()) std::cerr << "[CRITICAL] - " << msg << "\n"; else output_stream_ << "[CRITICAL] - " << msg << "\n"; }