非线程安全函数
以下函数不应从同一日志记录器对象的多个线程同时调用:
set_error_handler(log_err_handler);
logger::sinks() - 返回非线程安全的向量引用,因此不要同时修改它(例如 logger->sinks().push_back(new_sink);)
注意:此限制适用于所有类型的日志记录器("_mt" 或 "_st")。
日志记录器
要创建线程安全的日志记录器,请使用 _mt 工厂函数。
例如:
auto logger = spdlog::basic_logger_mt(...);
要创建单线程日志记录器,请使用 _st 工厂函数。
例如:
auto logger = spdlog::basic_logger_st(...);
Sinks
线程安全的 sinks:以 _mt 结尾的 sinks(例如 daily_file_sink_mt)
非线程安全的 sinks:以 _st 结尾的 sinks(例如 daily_file_sink_st)