如何使用boost.log写入文件?

时间:2014-03-04 18:52:33

标签: c++ boost

我在网上找不到太多有用的资源。他们说我必须使用boost :: log :: add_file_log。 但Visual Studio以及编译器可以在boost库中找到此函数。 我还确保包含所有boost / log头文件。

1 个答案:

答案 0 :(得分:2)

我认为他们正在闲聊boost-log v2,但据我所知,这还没有提升。

您需要添加sink back-end。这是一个例子:

#define BOOST_LOG_DYN_LINK
#define BOOST_SYSTEM_NO_DEPRECATED

#include <boost/log/sinks.hpp>
#include <boost/log/trivial.hpp>

int main() {

    using namespace boost::log;

    typedef sinks::synchronous_sink<sinks::text_file_backend> sink_t;

    boost::shared_ptr<sink_t> sink(
        new sink_t(boost::make_shared<sinks::text_file_backend>(
            keywords::file_name="my.log")));
    core::get()->add_sink(sink);

    BOOST_LOG_TRIVIAL(debug) << "hello";
}

*See it live*