-
Notifications
You must be signed in to change notification settings - Fork 4.6k
1.1. Thread Safety
Gabi Melman edited this page Sep 4, 2019
·
26 revisions
The following functions should not be called concurrently from multiple threads on the same logger object:
set_error_handler(log_err_handler);
-
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);
)
Note: This restriction applies to all kind of loggers ("_mt" or "_st").
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
)