diff options
Diffstat (limited to 'src/common/Logger.cpp')
-rw-r--r-- | src/common/Logger.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/common/Logger.cpp b/src/common/Logger.cpp index ed9f9e64..da55047a 100644 --- a/src/common/Logger.cpp +++ b/src/common/Logger.cpp @@ -42,12 +42,12 @@ std::string_view LogLevelToString(LogLevel level) { case LogLevel::Error: return "ERROR"; default: - std::abort(); + std::terminate(); } } } // namespace -void Logger::Log(LogLevel level, const std::string_view &s) { +void Logger::Log(LogLevel level, std::string_view s) { #ifndef CRU_DEBUG if (level == LogLevel::Debug) { return; @@ -62,4 +62,20 @@ void Logger::Log(LogLevel level, const std::string_view &s) { LogLevelToString(level), s)); } } + +void Logger::Log(LogLevel level, std::string_view tag, 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), tag, s)); + } +} } // namespace cru::log |