首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用过滤器增强日志记录

使用过滤器增强日志记录
EN

Stack Overflow用户
提问于 2012-01-15 01:53:36
回答 1查看 1.5K关注 0票数 0

我是boost-log的新手,并尝试让trivial logging with filters示例与boost-log1.1一起工作。代码如下所示:

代码语言:javascript
复制
#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编译此命令会导致以下错误消息:

代码语言:javascript
复制
/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,并且一些名称已更改。这个例子可以很容易的修复吗?然而,更新后的教程似乎不可用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-15 02:03:34

文档中的示例在includes之后似乎缺少以下行:

代码语言:javascript
复制
namespace logging = boost::log;
namespace filters = boost::log::filters;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8864139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档