aboutsummaryrefslogtreecommitdiff
path: root/src/common/logger.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2020-06-28 00:03:11 +0800
committercrupest <crupest@outlook.com>2020-06-28 00:03:11 +0800
commit06d1d0442276a05b6caad6e3468f4afb1e8ee5df (patch)
treeebd46f0fb7343dc57bf947b7b5fffc139c3ddeac /src/common/logger.cpp
parente11be6caa9ef9b2b198ca61846e32f469627556e (diff)
downloadcru-06d1d0442276a05b6caad6e3468f4afb1e8ee5df.tar.gz
cru-06d1d0442276a05b6caad6e3468f4afb1e8ee5df.tar.bz2
cru-06d1d0442276a05b6caad6e3468f4afb1e8ee5df.zip
...
Diffstat (limited to 'src/common/logger.cpp')
-rw-r--r--src/common/logger.cpp65
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