Я какое-то время использовал boost.log
в одном проекте, и это действительно отличная библиотека журналов.Но для использования базового журнала, такого как BOOST_LOG_TRIVIAL(lvl)
, мне нужно включить boost/log/trivial.hpp
, что приведет к большому количеству элементов, связанных с усилением.
Есть ли способ (например, использование обертки или псевдонима) "скрыть" boost/log/trivial.hpp
и BOOST_LOG_TRIVIAL(lvl)
, поэтому я могу быть уверен, что любой другой разработчик может вызывать только завернутую версию BOOST_LOG_TRIVIAL(lvl)
?
В самом начале я думал, что BOOST_LOG_TRIVIAL(lvl)
был простым потоковым объектом, но потом я обнаружил, что он будет расширен как:
#define BOOST_LOG_STREAM_WITH_PARAMS_INTERNAL(logger, rec_var, params_seq)\
for (::boost::log::record rec_var = (logger).open_record((BOOST_PP_SEQ_ENUM(params_seq))); !!rec_var;)\
::boost::log::aux::make_record_pump((logger), rec_var).stream()
Здесь есть цикл for, и я понятия не имею,как обернуть его.