aboutsummaryrefslogtreecommitdiff
path: root/src/common/Logger.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-07-05 23:06:02 +0800
committercrupest <crupest@outlook.com>2020-07-05 23:06:02 +0800
commit5c805e494425a88da1813902b1ad8a1ab351e30d (patch)
treebe3cfd96dcac19db3e256d610d48b5083c489a6c /src/common/Logger.cpp
parentbbec59718bf8a824583869126762013112f8e568 (diff)
downloadcru-5c805e494425a88da1813902b1ad8a1ab351e30d.tar.gz
cru-5c805e494425a88da1813902b1ad8a1ab351e30d.tar.bz2
cru-5c805e494425a88da1813902b1ad8a1ab351e30d.zip
...
Diffstat (limited to 'src/common/Logger.cpp')
-rw-r--r--src/common/Logger.cpp34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/common/Logger.cpp b/src/common/Logger.cpp
index da55047a..dfa25347 100644
--- a/src/common/Logger.cpp
+++ b/src/common/Logger.cpp
@@ -10,7 +10,6 @@ namespace cru::log {
namespace {
Logger *CreateLogger() {
const auto logger = new Logger();
- logger->AddSource(std::make_unique<StdioLogSource>());
return logger;
}
} // namespace
@@ -31,39 +30,43 @@ void Logger::RemoveSource(ILogSource *source) {
}
namespace {
-std::string_view LogLevelToString(LogLevel level) {
+std::u16string_view LogLevelToString(LogLevel level) {
switch (level) {
case LogLevel::Debug:
- return "DEBUG";
+ return u"DEBUG";
case LogLevel::Info:
- return "INFO";
+ return u"INFO";
case LogLevel::Warn:
- return "WARN";
+ return u"WARN";
case LogLevel::Error:
- return "ERROR";
+ return u"ERROR";
default:
std::terminate();
}
}
+
+std::u16string GetLogTime() {
+ auto time = std::time(nullptr);
+ auto calendar = std::localtime(&time);
+ return fmt::format(u"{}:{}:{}", calendar->tm_hour, calendar->tm_min,
+ calendar->tm_sec);
+}
} // namespace
-void Logger::Log(LogLevel level, std::string_view s) {
+void Logger::Log(LogLevel level, std::u16string_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(),
+ source->Write(level, fmt::format(u"[{}] {}: {}\n", GetLogTime(),
LogLevelToString(level), s));
}
}
-void Logger::Log(LogLevel level, std::string_view tag, std::string_view s) {
+void Logger::Log(LogLevel level, std::u16string_view tag,
+ std::u16string_view s) {
#ifndef CRU_DEBUG
if (level == LogLevel::Debug) {
return;
@@ -71,10 +74,7 @@ void Logger::Log(LogLevel level, std::string_view tag, std::string_view s) {
#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(),
+ source->Write(level, fmt::format(u"[{}] {} {}: {}\n", GetLogTime(),
LogLevelToString(level), tag, s));
}
}