2012-01-14 4 views
0

Я новичок в boost-log и попытался сделать пример использования trivial logging with filters с boost-log 1.1. Код выглядит следующим образом:усиление каротажа с фильтрами

#include <boost/log/core.hpp> 
#include <boost/log/trivial.hpp> 
#include <boost/log/filters.hpp> 

void init() 
{ 
    logging::core::get()->set_filter 
    (
    filters::attr<logging::trivial::severity_level>("Severity") >= logging::trivial::info 
    ); 
} 

int main(int, char*[]) 
{ 
    BOOST_LOG_TRIVIAL(trace) << "A trace severity message"; 
} 

Компиляция это с результатами лязгом следующие сообщения об ошибках:

/Users/admin/Documents/cmake tests/boost-log/main.cpp:7:5: error: use of undeclared identifier 'logging' 
    logging::core::get()->set_filter 
    ^
/Users/admin/Documents/cmake tests/boost-log/main.cpp:9:3: error: use of undeclared identifier 'filters'; did you mean 'boost::log_mt_posix::filters'? 
     filters::attr<logging::trivial::severity_level>("Severity") >= logging::trivial::info 
     ^~~~~~~ 
     boost::log_mt_posix::filters 
/usr/local/include/boost/log/filters/has_attr.hpp:32:11: note: 'boost::log_mt_posix::filters' declared here 
namespace filters { 
     ^
/Users/admin/Documents/cmake tests/boost-log/main.cpp:9:18: error: use of undeclared identifier 'logging' 
     filters::attr<logging::trivial::severity_level>("Severity") >= logging::trivial::info 

Похоже пример основан на старой версии повышающего-журнала и некоторые имена изменены , Можно ли легко устранить пример? Однако обновленный учебник, похоже, не доступен.

ответ

5

пример в документации просто кажется, отсутствуют следующие строки после того, как включает в себя:

namespace logging = boost::log; 
namespace filters = boost::log::filters; 
+0

К сожалению, это так для большинства из документации, которая делает его очень трудно для новичка, чтобы найти все необходимое включает и пространства имен :( –

Смежные вопросы