to the log. For example, debug_osd=1/5 will write everything <= 1 to the log
unconditionally but keep entries at levels 2-5 in memory. If there is a seg fault
or assertion failure, all entries will be dumped to the log.
+ min: 1
default: 500
daemon_default: 10000
# default changed by common_preinit()
str.assign(strv.begin(), strv.end());
return *this;
}
- ConcreteEntry(ConcreteEntry&& e) : Entry(e), str(std::move(e.str)) {}
+ ConcreteEntry(ConcreteEntry&& e) noexcept : Entry(e), str(std::move(e.str)) {}
ConcreteEntry& operator=(ConcreteEntry&& e) {
Entry::operator=(e);
str = std::move(e.str);
void Log::set_max_recent(std::size_t n)
{
std::scoped_lock lock(m_flush_mutex);
- m_max_recent = n;
+ m_recent.set_capacity(n);
}
void Log::set_log_file(std::string_view fn)
tid_to_int(pthread_id), pthread_name), true);
}
- _log_message(fmt::format(" max_recent {:9}", m_max_recent), true);
- _log_message(fmt::format(" max_new {:9}", m_max_recent), true);
+ _log_message(fmt::format(" max_recent {:9}", m_recent.capacity()), true);
+ _log_message(fmt::format(" max_new {:9}", m_max_new), true);
_log_message(fmt::format(" log_file {}", m_log_file), true);
_log_message("--- end dump of recent events ---", true);
bool m_stop = false;
std::size_t m_max_new = DEFAULT_MAX_NEW;
- std::size_t m_max_recent = DEFAULT_MAX_RECENT;
bool m_inject_segv = false;