如何将Boost.Log重定向到文件

elv*_*kaj 14 c++ logging boost-log

我想在并发应用程序中使用简单的日志文件.我已经下载了Boost.Logv2.0并使用编译它Boost 1.53.0.

问题是Boost.Log控制台上的输出.我正在使用BOOST_LOG_TRIVIAL(trace).

有没有一种很好的方法来重定向BOOST_LOG_TRIVIAL到文件?

m0n*_*awk 17

你可以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
    );
}
Run Code Online (Sandbox Code Playgroud)

在主要:

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;
}
Run Code Online (Sandbox Code Playgroud)

  • @ elvis.dukaj:`#include <boost/log/utility/setup/file.hpp>` (2认同)