Подтвердить что ты не робот

Как перенаправить Boost.Log в файл

Я хочу простой файл журнала в параллельном приложении. Я загрузил Boost.Log v2.0 и скомпилировал его с помощью Boost 1.53.0.

Проблема в том, что вывод Boost.Log на консоли. Я использую BOOST_LOG_TRIVIAL(trace).

Есть ли хороший способ перенаправить BOOST_LOG_TRIVIAL в файл?

4b9b3361

Ответ 1

Вы можете сделать BOOST_LOG_TRIVIAL использование файла с (при условии, что namespace logging = boost::log;:

#include <boost/log/core.hpp>
#include <boost/log/trivial.hpp>
#include <boost/log/expressions.hpp>
#include <boost/log/utility/setup/file.hpp>

void init()
{
    logging::add_file_log("sample.log");

    logging::core::get()->set_filter
    (
        logging::trivial::severity >= logging::trivial::info
    );
}

И в основном:

int main(int, char*[])
{
    init();

    BOOST_LOG_TRIVIAL(trace) << "A trace severity message";
 // other types of severity
    BOOST_LOG_TRIVIAL(fatal) << "A fatal severity message";

    return 0;
}