Added enable_backtrace to spdlog_api

This commit is contained in:
gabime
2019-08-23 02:28:52 +03:00
parent 65407539bb
commit a6d8b52686
7 changed files with 46 additions and 3 deletions

View File

@@ -67,10 +67,17 @@ SPDLOG_INLINE void registry::initialize_logger(std::shared_ptr<logger> new_logge
new_logger->set_level(level_);
new_logger->flush_on(flush_level_);
if(backtrace_level_ != level::off)
{
new_logger->enable_backtrace(backtrace_level_, backtrace_n_messages_);
}
if (automatic_registration_)
{
register_logger_(std::move(new_logger));
}
}
SPDLOG_INLINE std::shared_ptr<logger> registry::get(const std::string &logger_name)
@@ -135,6 +142,18 @@ SPDLOG_INLINE void registry::set_formatter(std::unique_ptr<formatter> formatter)
}
}
SPDLOG_INLINE void registry::enable_backtrace(level::level_enum trigger_level, size_t n_messages)
{
std::lock_guard<std::mutex> lock(logger_map_mutex_);
backtrace_level_ = trigger_level;
backtrace_n_messages_ = n_messages;
for (auto &l : loggers_)
{
l.second->enable_backtrace(trigger_level, n_messages);
}
}
SPDLOG_INLINE void registry::set_level(level::level_enum log_level)
{
std::lock_guard<std::mutex> lock(logger_map_mutex_);