6#ifndef SPDLOG_HEADER_ONLY
18 :
async_logger(
std::move(logger_name), sinks_list.begin(), sinks_list.end(),
std::move(tp), overflow_policy)
24 :
async_logger(
std::move(logger_name), {std::move(single_sink)}, std::move(tp), overflow_policy)
31 if (
auto pool_ptr = thread_pool_.lock())
33 pool_ptr->post_log(shared_from_this(), msg, overflow_policy_);
44 if (
auto pool_ptr = thread_pool_.lock())
46 pool_ptr->post_flush(shared_from_this(), overflow_policy_);
59 for (
auto& sink : sinks_)
61 if (sink->should_log(msg.
level))
71 if (should_flush_(msg))
79 for (
auto& sink : sinks_)
91 auto cloned = std::make_shared<spdlog::async_logger>(*
this);
92 cloned->name_ = std::move(new_name);
Definition async_logger.h:36
std::shared_ptr< logger > clone(std::string new_name) override
Definition async_logger-inl.h:89
async_logger(std::string logger_name, It begin, It end, std::weak_ptr< details::thread_pool > tp, async_overflow_policy overflow_policy=async_overflow_policy::block)
Definition async_logger.h:41
void flush_() override
Definition async_logger-inl.h:42
void backend_flush_()
Definition async_logger-inl.h:77
void sink_it_(const details::log_msg &msg) override
Definition async_logger-inl.h:29
void backend_sink_it_(const details::log_msg &incoming_log_msg)
Definition async_logger-inl.h:57
#define SPDLOG_TRY
Definition common.h:107
#define SPDLOG_INLINE
Definition common.h:47
#define SPDLOG_LOGGER_CATCH(location)
Definition logger.h:31
std::shared_ptr< sinks::sink > sink_ptr
Definition common.h:136
async_overflow_policy
Definition async_logger.h:24
std::initializer_list< sink_ptr > sinks_init_list
Definition common.h:137
SPDLOG_INLINE void throw_spdlog_ex(const std::string &msg, int last_errno)
Definition common-inl.h:75
level::level_enum level
Definition log_msg.h:23
source_loc source
Definition log_msg.h:31