aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-06-29 00:31:21 +0800
committercrupest <crupest@outlook.com>2020-06-29 00:31:21 +0800
commit5c3dae62b9218dbd2493ff6390db062013ca4bdc (patch)
tree3425a9efa118eaf89627e6903cecb50a3daedb1d /src/common
parent6b5aff7b7e50fae15cb010b340099163725f664c (diff)
downloadcru-5c3dae62b9218dbd2493ff6390db062013ca4bdc.tar.gz
cru-5c3dae62b9218dbd2493ff6390db062013ca4bdc.tar.bz2
cru-5c3dae62b9218dbd2493ff6390db062013ca4bdc.zip
...
Diffstat (limited to 'src/common')
-rw-r--r--src/common/Logger.cpp20
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