2013-04-19 16 views
11

Chcę prosty plik dziennika w aplikacji współbieżnej. Mam pobrać Boost.Log v2.0 i za pomocą kompilacji go z Boost 1.53.0.Jak przekierować Boost.Log do pliku

Problem polega na tym, że wyjście na konsolę ma postać Boost.Log. Używam BOOST_LOG_TRIVIAL(trace).

Czy istnieje dobry sposób przekierowania do pliku BOOST_LOG_TRIVIAL?

Odpowiedz

15

Można dokonać BOOST_LOG_TRIVIAL użyć pliku z (zakładając, że 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 
    ); 
} 

A w głównym:

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

co nagłówek mieć I w celu uwzględnienia potrzeby rejestrowania :: add_file_log ("sample.log ")? –

+2

@ elvis.dukaj:' #include ' – m0nhawk

Powiązane problemy