diff options
| author | crupest <crupest@outlook.com> | 2020-06-28 00:03:11 +0800 |
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2020-06-28 00:03:11 +0800 |
| commit | 06d1d0442276a05b6caad6e3468f4afb1e8ee5df (patch) | |
| tree | ebd46f0fb7343dc57bf947b7b5fffc139c3ddeac /src/common/logger.cpp | |
| parent | e11be6caa9ef9b2b198ca61846e32f469627556e (diff) | |
| download | cru-06d1d0442276a05b6caad6e3468f4afb1e8ee5df.tar.gz cru-06d1d0442276a05b6caad6e3468f4afb1e8ee5df.tar.bz2 cru-06d1d0442276a05b6caad6e3468f4afb1e8ee5df.zip | |
...
Diffstat (limited to 'src/common/logger.cpp')
| -rw-r--r-- | src/common/logger.cpp | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/src/common/logger.cpp b/src/common/logger.cpp deleted file mode 100644 index ed9f9e64..00000000 --- a/src/common/logger.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "cru/common/Logger.hpp" - -#include <array> -#include <cstdlib> -#include <ctime> -#include <memory> -#include <string_view> - -namespace cru::log { -namespace { -Logger *CreateLogger() { - const auto logger = new Logger(); - logger->AddSource(std::make_unique<StdioLogSource>()); - return logger; -} -} // namespace - -Logger *Logger::GetInstance() { - static std::unique_ptr<Logger> logger{CreateLogger()}; - return logger.get(); -} - -void Logger::AddSource(std::unique_ptr<ILogSource> source) { - sources_.push_back(std::move(source)); -} - -void Logger::RemoveSource(ILogSource *source) { - sources_.remove_if([source](const std::unique_ptr<ILogSource> &s) { - return s.get() == source; - }); -} - -namespace { -std::string_view LogLevelToString(LogLevel level) { - switch (level) { - case LogLevel::Debug: - return "DEBUG"; - case LogLevel::Info: - return "INFO"; - case LogLevel::Warn: - return "WARN"; - case LogLevel::Error: - return "ERROR"; - default: - std::abort(); - } -} -} // namespace - -void Logger::Log(LogLevel level, const std::string_view &s) { -#ifndef CRU_DEBUG - if (level == LogLevel::Debug) { - return; - } -#endif - for (const auto &source : sources_) { - auto now = std::time(nullptr); - std::array<char, 50> buffer; - std::strftime(buffer.data(), 50, "%c", std::localtime(&now)); - - source->Write(level, fmt::format("[{}] {}: {}\n", buffer.data(), - LogLevelToString(level), s)); - } -} -} // namespace cru::log |
