2012-06-10 12 views
10

boost :: log wygląda naprawdę potężnie. Oferuje makro BOOST_LOG_TRIVIAL dla trywialnego logowania. Ale jak mogę zmienić domyślne formatowanie? Domyślnie wypisuje znacznik czasu, ponieważ go nie chcę. Masz jakiś pomysł? Wydaje się, że jedynym sposobem jest zdefiniowanie nowego zlewu ex-novo i dodanie go do rdzenia, wtedy możesz wywołać set_format() na zapleczu w przypadku. Ale to już nie jest "trywialne".Jak zmienić domyślne formatowanie za pomocą funkcji boost :: log :: BOOST_TRIVIAL_LOG?

Odpowiedz

15

Funkcja Boost.Log ma domyślny zlew, który jest używany tak długo, jak długo nie zapewniasz własnego zlewu. Poniższy fragment kodu zmienia format dziennika konsoli, dodając nowy zlew.

#include <boost/log/trivial.hpp> 
#include <boost/log/utility/setup/console.hpp> 

int main() 
{ 
    boost::log::add_console_log(std::cout, boost::log::keywords::format = ">> %Message%"); 
    BOOST_LOG_TRIVIAL(info) << "Hello world!"; 
} 

Pamiętaj, że musisz dodać bibliotekę log_setup do produkcji tj zrobić

-lboost_log_setup -lboost_log 

gdzie na porządku bibliotekami jest ważne.

Powiązane problemy