我是boost-log的新手,并尝试让trivial logging with filters示例与boost-log1.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";
}使用clang编译此命令会导致以下错误消息:
/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该示例看起来是基于旧版本的boost-log,并且一些名称已更改。这个例子可以很容易的修复吗?然而,更新后的教程似乎不可用。
发布于 2012-01-15 02:03:34
文档中的示例在includes之后似乎缺少以下行:
namespace logging = boost::log;
namespace filters = boost::log::filters;https://stackoverflow.com/questions/8864139
复制相似问题