2014-03-04 54 views
1

我在網上找不到有用的資源。他們說我必須使用boost :: log :: add_file_log。 但Visual Studio以及編譯器可以在boost庫中找到這個函數。 我也確保包含所有boost/log頭文件。如何使用boost.log寫入文件?

回答

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*