From 9cad840a728ca95d8e43d72345e75a2e7edfa5c3 Mon Sep 17 00:00:00 2001 From: gabime Date: Sat, 9 May 2015 17:15:07 +0300 Subject: [PATCH] Revert "vector / mutex" This reverts commit a74e280bb4ba3a4fb6396c1bb6368c376f50ec48. Conflicts: include/spdlog/tweakme.h --- include/spdlog/details/registry.h | 44 +------------------------------ include/spdlog/tweakme.h | 13 --------- 2 files changed, 1 insertion(+), 56 deletions(-) diff --git a/include/spdlog/details/registry.h b/include/spdlog/details/registry.h index 6c6e2d30..5f708743 100644 --- a/include/spdlog/details/registry.h +++ b/include/spdlog/details/registry.h @@ -54,19 +54,9 @@ public: std::shared_ptr get(const std::string& logger_name) { -#ifndef SPDLOG_NO_REGISTRY_MUTEX std::lock_guard lock(_mutex); -#endif -#ifdef SPDLOG_VECTOR_BASED_REGISTRY - for (auto& logger : _loggers) { - if (logger_name == logger->name()) - return logger; - } - return nullptr; -#else auto found = _loggers.find(logger_name); return found == _loggers.end() ? nullptr : found->second; -#endif } template @@ -94,17 +84,7 @@ public: void drop(const std::string& logger_name) { std::lock_guard lock(_mutex); -#ifdef SPDLOG_VECTOR_BASED_REGISTRY - for (auto it = _loggers.begin(); it != _loggers.end();) { - if (logger_name == (*it)->name()) { - it = _loggers.erase(it); - } else { - ++it; - } - } -#else _loggers.erase(logger_name); -#endif } void drop_all() @@ -128,11 +108,7 @@ public: std::lock_guard lock(_mutex); _formatter = f; for (auto& l : _loggers) -#ifdef SPDLOG_VECTOR_BASED_REGISTRY - l->set_formatter(_formatter); -#else l.second->set_formatter(_formatter); -#endif } void set_pattern(const std::string& pattern) @@ -140,22 +116,14 @@ public: std::lock_guard lock(_mutex); _formatter = std::make_shared(pattern); for (auto& l : _loggers) -#ifdef SPDLOG_VECTOR_BASED_REGISTRY - l->set_formatter(_formatter); -#else l.second->set_formatter(_formatter); -#endif } void set_level(level::level_enum log_level) { std::lock_guard lock(_mutex); for (auto& l : _loggers) -#ifdef SPDLOG_VECTOR_BASED_REGISTRY - l->set_level(log_level); -#else l.second->set_level(log_level); -#endif _level = log_level; } @@ -184,25 +152,15 @@ private: void register_logger_impl(std::shared_ptr logger) { auto logger_name = logger->name(); - if (get(logger_name) != nullptr) + if (_loggers.find(logger_name) != std::end(_loggers)) throw spdlog_ex("logger with name " + logger_name + " already exists"); -#ifdef SPDLOG_VECTOR_BASED_REGISTRY - _loggers.push_back(logger); -#else _loggers[logger->name()] = logger; -#endif } registry() = default; registry(const registry&) = delete; registry& operator=(const registry&) = delete; std::mutex _mutex; - -#ifdef SPDLOG_VECTOR_BASED_REGISTRY - std::vector > _loggers; -#else std::unordered_map > _loggers; -#endif - formatter_ptr _formatter; level::level_enum _level = level::info; bool _async_mode = false; diff --git a/include/spdlog/tweakme.h b/include/spdlog/tweakme.h index bf65ad25..e6e1bedf 100644 --- a/include/spdlog/tweakme.h +++ b/include/spdlog/tweakme.h @@ -65,16 +65,3 @@ // #define SPDLOG_TRACE_ON /////////////////////////////////////////////////////////////////////////////// - -/////////////////////////////////////////////////////////////////////////////// -// Uncomment to avoid locking in the registry operations (spdlog::get() spdlog::drop() spdlog::register()) -// Use only if your code is single threaded or never modifes concurrently the registry -// #define SPDLOG_NO_REGISTRY_MUTEX -/////////////////////////////////////////////////////////////////////////////// - - -/////////////////////////////////////////////////////////////////////////////// -// Uncomment to enable vector based registry instead of the default unordered_map -// spdlog::get(..) operations will be faster on small registry sizes (upto ~10-20 loggers) -// #define SPDLOG_VECTOR_BASED_REGISTRY -///////////////////////////////////////////////////////////////////////////////