backtrace_sink code cleanup

This commit is contained in:
gabime 2019-08-25 18:05:47 +03:00
parent 36f253893e
commit 099137fe9a
4 changed files with 17 additions and 20 deletions

View File

@ -25,8 +25,7 @@ SPDLOG_INLINE logger::logger(const logger &other)
, backtrace_sink_(other.backtrace_sink_)
{}
SPDLOG_INLINE logger::logger(logger &&other) SPDLOG_NOEXCEPT :
name_(std::move(other.name_)),
SPDLOG_INLINE logger::logger(logger &&other) SPDLOG_NOEXCEPT : name_(std::move(other.name_)),
sinks_(std::move(other.sinks_)),
level_(other.level_.load(std::memory_order_relaxed)),
flush_level_(other.flush_level_.load(std::memory_order_relaxed)),
@ -139,8 +138,7 @@ SPDLOG_INLINE void logger::enable_backtrace(size_t n_messages)
{
if (!backtrace_sink_)
{
auto new_backtrace_sink = new spdlog::sinks::backtrace_sink_mt(level(), n_messages);
new_backtrace_sink->set_sinks(std::move(sinks_));
auto new_backtrace_sink = new spdlog::sinks::backtrace_sink_mt(std::move(sinks_), level(), n_messages);
backtrace_sink_.reset(new_backtrace_sink);
sinks().push_back(backtrace_sink_);
assert(sinks().size() == 1);

View File

@ -5,7 +5,6 @@
#include "dist_sink.h"
#include "spdlog/common.h"
#include "spdlog/details/null_mutex.h"
#include "spdlog/details/log_msg_buffer.h"
#include "spdlog/details/circular_q.h"
@ -13,9 +12,9 @@
#include <string>
#include <chrono>
// Store log messages in circular buffer
// If it encounters a message with high enough level, it will send all previous message to it child sinks
// Useful for storing debug data in case of error/warning happens
// Store log messages in circular buffer.
// If it encounters a message with high enough level, it will send all previous message to it child sinks.
// Useful for storing debug data in case of error/warning happens.
namespace spdlog {
namespace sinks {
@ -23,10 +22,12 @@ template<typename Mutex>
class backtrace_sink : public dist_sink<Mutex>
{
public:
explicit backtrace_sink(spdlog::level::level_enum filter_level, size_t n_messages)
backtrace_sink(std::vector<std::shared_ptr<sink>> &&child_sinks, spdlog::level::level_enum filter_level, size_t n_messages)
: filter_level_{filter_level}
, traceback_msgs_{n_messages}
{}
{
dist_sink<Mutex>::set_sinks(std::move(child_sinks));
}
void set_filter_level(spdlog::level::level_enum filter_level)
{
@ -83,7 +84,6 @@ protected:
};
using backtrace_sink_mt = backtrace_sink<std::mutex>;
using backtrace_sink_st = backtrace_sink<details::null_mutex>;
} // namespace sinks
} // namespace spdlog

View File

@ -50,7 +50,6 @@ public:
return sinks_;
}
protected:
void sink_it_(const details::log_msg &msg) override
{