diff options
author | crupest <crupest@outlook.com> | 2020-06-29 00:31:21 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2020-06-29 00:31:21 +0800 |
commit | 5c3dae62b9218dbd2493ff6390db062013ca4bdc (patch) | |
tree | 3425a9efa118eaf89627e6903cecb50a3daedb1d /src/common | |
parent | 6b5aff7b7e50fae15cb010b340099163725f664c (diff) | |
download | cru-5c3dae62b9218dbd2493ff6390db062013ca4bdc.tar.gz cru-5c3dae62b9218dbd2493ff6390db062013ca4bdc.tar.bz2 cru-5c3dae62b9218dbd2493ff6390db062013ca4bdc.zip |
...
Diffstat (limited to 'src/common')
-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 |