我在我的多線程項目中使用boost.log,但是我不需要線程安全的版本記錄器,因爲我已經讓代碼以線程安全的方式運行。make boost :: log :: core thread local
如果使用非線程安全記錄器,我需要使記錄器對象爲thread_local:每個線程都有自己的記錄器對象。但是該對象隱藏在boost.log的API後面:要創建一個記錄器對象,用戶不能將該對象定義爲type obj;
它的創建是由像BOOST_LOG_INLINE_GLOBAL_LOGGER_DEFAULTI
這樣的宏完成的,並通過logging::core::get()
得到。我不能只是這樣寫:
thread_local boost::core::logger logger_obj;
如何做到這一點?
我認爲boost :: log是線程安全的嗎? –