2013-04-19 22 views
11

Tôi muốn một tệp nhật ký đơn giản trong một ứng dụng đồng thời. Tôi đã tải xuống Boost.Log v2.0 và sử dụng biên dịch với Boost 1.53.0.Cách chuyển hướng Boost.Log thành tệp

Vấn đề là đầu ra Boost.Log trên bảng điều khiển. Tôi đang sử dụng BOOST_LOG_TRIVIAL(trace).

Có cách nào tốt để chuyển hướng BOOST_LOG_TRIVIAL vào tệp không?

Trả lời

15

Bạn có thể làm BOOST_LOG_TRIVIAL sử dụng một tập tin với (giả định rằng 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 
    ); 
} 

Và trong chính:

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; 
} 
+0

những gì tiêu đề có tôi đưa cho khai thác gỗ :: add_file_log ("sample.log ")? –

+2

@ elvis.dukaj:' #include ' – m0nhawk

Các vấn đề liên quan