Boost.Log в файл и стандартный вывод одновременно?

Я успешно использовал boost::log для входа в стандартный вывод (используя макросы TRIVIAL) или для входа в файл (в основном следуя инструкциям в руководстве).

Как бы мы могли настроить одновременную запись в файл и stdout?

Это обычный вариант использования в нашей настройке, когда мы хотим иметь как файл журнала, так и весь вывод, который идет в журнал на консоли.

Любой вклад приветствуется!


person cacau    schedule 27.01.2014    source источник
comment
пробовали ли вы читать эту документацию ? Там написано You can register more than one sink. Each sink will receive and process log records as you emit them independently from others.   -  person nurettin    schedule 27.01.2014
comment
@nurettin Да, но как зарегистрировать приемники для вывода на стандартный вывод? Не нашел (пока..)   -  person cacau    schedule 27.01.2014
comment
add_stream( boost::shared_ptr‹std::ostream›(&std::cout, empty_deleter() ) ); // ?   -  person nurettin    schedule 27.01.2014


Ответы (1)


В соответствии с документами вы можете просто используйте add_console_log() функция удобства, например:

#include <boost/log/utility/setup/console.hpp>

logging::add_console_log(std::cout, boost::log::keywords::format = ">> %Message%");

Конечно, вы всегда можете копаться в конфигурации приемника вручную, как указано в некоторых комментариях.

person Jay    schedule 27.01.2014