Я в настоящее время создания мойки журнала, который сбрасывает строки журнала с выхода моего Trainer
класса cout
:Могу ли я скопировать раструб Boost :: Log и изменить его?
using namespace boost;
using namespace log;
using namespace expressions;
using namespace sinks;
auto sink = make_shared<synchronous_sink<text_ostream_backend>>();
sink->set_formatter(Utility::GetLoggingFormat());
sink->locked_backend()->add_stream(
shared_ptr<std::ostream>(&std::cout, null_deleter()));
sink->set_filter((
has_attr(Utility::ClassTag) &&
Utility::ClassTag == "App::Trainer"));
boost::log::core::get()->add_sink(sink);
Однако, я уже добавил мойку (по телефону add_file_log
в других местах), что сбрасывает все строки журнала в файл. Он использует тот же формат GetLoggingFormat()
. На самом деле, единственная причина, по которой я имею эту функцию, - это то, что мне не нужно повторять код форматирования.
Вместо этого я предпочел бы просто «скопировать» раковину файла (созданную в другом месте с помощью add_file_log
), изменить ее вывод на std::cout
и добавить к нему фильтр.
Могу ли я это сделать?