-
Notifications
You must be signed in to change notification settings - Fork 4.6k
1.1. Thread Safety
Gabi Melman edited this page Sep 2, 2019
·
26 revisions
The following functions should never be called concurrently from multiple threads (even on "_mt" loggers) on the same logger object:
set_error_handler(log_err_handler);
enable_backtrace(size_t);
disable_backtrace();
-
logger::sinks()
- returns a reference to a non thread safe vector, so don't modify it concurrently (e.g.logger->sinks().push_back(new_sink);
)
To create thread safe loggers, use the _mt factory functions.
For example:
auto logger = spdlog::basic_logger_mt(...);
To create single threaded loggers, use the _st factory functions.
For example:
auto logger = spdlog::basic_logger_st(...);
-
Thread safe sinks: sinks ending with
_mt
(e.gdaily_file_sink_mt
) -
Non thread safe sinks: sinks ending with
_st
(e.gdaily_file_sink_st
)