mirror of
https://github.com/gabime/spdlog.git
synced 2025-09-30 10:29:02 +08:00
discard policies on queue overflow
This commit is contained in:
@@ -62,7 +62,7 @@ public:
|
||||
return found->second;
|
||||
std::shared_ptr<logger> new_logger;
|
||||
if (_async_mode)
|
||||
new_logger = std::make_shared<async_logger>(logger_name, sinks_begin, sinks_end, _async_q_size, _worker_warmup_cb);
|
||||
new_logger = std::make_shared<async_logger>(logger_name, sinks_begin, sinks_end, _async_q_size, _overflow_policy, _worker_warmup_cb);
|
||||
else
|
||||
new_logger = std::make_shared<logger>(logger_name, sinks_begin, sinks_end);
|
||||
|
||||
@@ -120,12 +120,13 @@ public:
|
||||
l.second->set_level(log_level);
|
||||
}
|
||||
|
||||
void set_async_mode(size_t q_size, const std::function<void()>& worker_warmup_cb = nullptr)
|
||||
void set_async_mode(size_t q_size, const async_queue_overflow_policy overflow_policy, const std::function<void()>& worker_warmup_cb)
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(_mutex);
|
||||
_async_mode = true;
|
||||
_async_q_size = q_size;
|
||||
_worker_warmup_cb = worker_warmup_cb;
|
||||
_overflow_policy = overflow_policy;
|
||||
_worker_warmup_cb = worker_warmup_cb;
|
||||
}
|
||||
|
||||
void set_sync_mode()
|
||||
@@ -151,7 +152,8 @@ private:
|
||||
level::level_enum _level = level::info;
|
||||
bool _async_mode = false;
|
||||
size_t _async_q_size = 0;
|
||||
std::function<void()> _worker_warmup_cb = nullptr;
|
||||
async_queue_overflow_policy _overflow_policy = async_queue_overflow_policy::block_retry;
|
||||
std::function<void()> _worker_warmup_cb = nullptr;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user