スレッドセーフではない関数
次の関数を、複数のスレッドから同じロガーオブジェクトに対して同時に呼び出してはいけません。
set_error_handler(log_err_handler);logger::sinks()— スレッドセーフではないvectorへの参照を返すため、同時に変更しないでください(例:logger->sinks().push_back(new_sink);)。
注意:この制限は、すべての種類のロガー("_mt"または"_st")に適用されます。
ロガー
スレッドセーフなロガーを作成するには、_mtファクトリ関数を使います。
例:
auto logger = spdlog::basic_logger_mt(...);シングルスレッドのロガーを作成するには、_stファクトリ関数を使います。
例:
auto logger = spdlog::basic_logger_st(...);sink
- スレッドセーフなsink: 名前が
_mtで終わるsink(例:daily_file_sink_mt)。 - スレッドセーフではないsink: 名前が
_stで終わるsink(例:daily_file_sink_st)。
©gabime 2023-2024 spdlog. All Rights Reserved.