aboutsummaryrefslogtreecommitdiff
path: root/src/common/logger.cpp
diff options
context:
space:
mode:
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