diff --git a/include/spdlog/details/mpmc_blocking_q.h b/include/spdlog/details/mpmc_blocking_q.h index b70483e5..785180c1 100644 --- a/include/spdlog/details/mpmc_blocking_q.h +++ b/include/spdlog/details/mpmc_blocking_q.h @@ -116,6 +116,12 @@ public: return q_.size(); } + void reset_overrun_counter() + { + std::unique_lock lock(queue_mutex_); + q_.reset_overrun_counter(); + } + private: std::mutex queue_mutex_; std::condition_variable push_cv_; diff --git a/include/spdlog/details/thread_pool-inl.h b/include/spdlog/details/thread_pool-inl.h index e4b3e1c4..369f30fe 100644 --- a/include/spdlog/details/thread_pool-inl.h +++ b/include/spdlog/details/thread_pool-inl.h @@ -75,6 +75,11 @@ size_t SPDLOG_INLINE thread_pool::overrun_counter() return q_.overrun_counter(); } +void SPDLOG_INLINE thread_pool::reset_overrun_counter() +{ + q_.reset_overrun_counter(); +} + size_t SPDLOG_INLINE thread_pool::queue_size() { return q_.size(); diff --git a/include/spdlog/details/thread_pool.h b/include/spdlog/details/thread_pool.h index 63738b5b..52c569b8 100644 --- a/include/spdlog/details/thread_pool.h +++ b/include/spdlog/details/thread_pool.h @@ -97,6 +97,7 @@ public: void post_log(async_logger_ptr &&worker_ptr, const details::log_msg &msg, async_overflow_policy overflow_policy); void post_flush(async_logger_ptr &&worker_ptr, async_overflow_policy overflow_policy); size_t overrun_counter(); + void reset_overrun_counter(); size_t queue_size(); private: