29     virtual ~sink() = 
default;
    31     virtual void flush() = 0;
    32     virtual void set_pattern(
const std::string &pattern) = 0;
    33     virtual void set_formatter(std::unique_ptr<spdlog::formatter> sink_formatter) = 0;
    37         return msg_level >= 
level_.load(std::memory_order_relaxed);
 virtual void set_pattern(const std::string &pattern)=0
 
std::unique_ptr< spdlog::formatter > formatter_
 
sink(std::unique_ptr< spdlog::pattern_formatter > formatter)
 
If we are still before C++14, supply the fodder for doing the "indices trick". 
 
virtual void log(const details::log_msg &msg)=0
 
void trace(const char *fmt, const Args &... args)
 
bool should_log(level::level_enum msg_level) const
 
void set_level(level::level_enum log_level)
 
std::atomic< int > level_t
 
level::level_enum level() const
 
virtual void set_formatter(std::unique_ptr< spdlog::formatter > sink_formatter)=0