#include "logger.h" #include #include #include #include namespace effil { static std::unique_ptr getLoggerStream() { const char* logFile = getenv("EFFIL_LOG"); if (logFile == nullptr) { return std::make_unique(nullptr); } else if (strcmp(logFile, "term") == 0) { return std::make_unique(std::cout.rdbuf()); } return std::make_unique(logFile); } std::mutex Logger::lock_; std::unique_ptr Logger::stream_(getLoggerStream()); std::string getCurrentTime() { const auto currTime = std::time(nullptr); const auto tm = std::localtime(&currTime); std::stringstream ss; ss << std::put_time(tm, "%F %T"); return ss.str(); } } // namespace effil