2012-06-10 11 views
10

boost :: log se ve muy potente. Ofrece una macro BOOST_LOG_TRIVIAL para el registro trivial. Pero, ¿cómo puedo cambiar el formato predeterminado? Imprime la marca de tiempo por defecto, por lo que yo no quiero. ¿Tiene alguna idea? Parece que la única forma es definir un nuevo receptor ex-novo y agregarlo al núcleo, luego puede llamar a set_format() en el backend en caso. Pero esto ya no es "trivial".Cómo cambiar el formato predeterminado con boost :: log :: BOOST_TRIVIAL_LOG?

Respuesta

15

Boost.Log tiene un receptor predeterminado, que se utiliza siempre que no proporciones tu propio receptor. El siguiente fragmento de código cambia el formato del registro de la consola al agregar un nuevo receptor.

#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!"; 
} 

Tenga en cuenta que hay que añadir la biblioteca log_setup a su construcción es decir, hacer un

-lboost_log_setup -lboost_log 

donde el orden de las liberaciones es importante.

Cuestiones relacionadas