From d9ff5df830a0f608558ae7cd47bb0c87844fe885 Mon Sep 17 00:00:00 2001 From: "Kevin M. Godby" Date: Tue, 3 May 2016 14:52:03 -0500 Subject: [PATCH] Moved flush call to logger::_log_msg() function. --- include/spdlog/details/line_logger_impl.h | 5 ----- include/spdlog/details/logger_impl.h | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/spdlog/details/line_logger_impl.h b/include/spdlog/details/line_logger_impl.h index 9c5b49e0..d61225af 100644 --- a/include/spdlog/details/line_logger_impl.h +++ b/include/spdlog/details/line_logger_impl.h @@ -46,11 +46,6 @@ inline spdlog::details::line_logger::~line_logger() #endif _callback_logger->_log_msg(_log_msg); } - - if (_log_msg.level >= _callback_logger->_flush_level) - { - _callback_logger->flush(); - } } // diff --git a/include/spdlog/details/logger_impl.h b/include/spdlog/details/logger_impl.h index 14d46b30..9f2f13d7 100644 --- a/include/spdlog/details/logger_impl.h +++ b/include/spdlog/details/logger_impl.h @@ -290,6 +290,10 @@ inline void spdlog::logger::_log_msg(details::log_msg& msg) _formatter->format(msg); for (auto &sink : _sinks) sink->log(msg); + + const auto flush_level = _flush_level.load(std::memory_order_relaxed); + if (msg.level >= flush_level) + flush(); } inline void spdlog::logger::_set_pattern(const std::string& pattern)