【问题标题】:Is it possible to retrieve the logged message as a string from boost::log::record_view?是否可以从 boost::log::r​​ecord_view 检索记录的消息作为字符串?
【发布时间】:2014-01-20 19:45:05
【问题描述】:

documentation of record_view 声明它封装了日志消息字符串。

我想在自定义 basic_string_backend 子类的 consume 函数的上下文中检索它。

有可能吗,还是我必须从basic_formatted_sink_backend派生?

【问题讨论】:

  • 我想你总是可以在其他地方并行存储本地副本记录的字符串(这是我们在 boost.log 的包装器中所做的)

标签: boost-log


【解决方案1】:

你可以这样得到:

void consume(boost::logger::record_view const& rec)
{
    std::string myString = *rec[boost::logger::expressions::smessage];
    // etc...
}

包含 boost/logger/expressions.h 以获取 boost::logger::expressions::smessage。

【讨论】:

  • 所有这些都记录在哪里?我发现 Boost.Log 非常复杂和令人困惑,但他们的文档并不是很有帮助。我在文档中没有看到有关如何使用 record_view 对象的信息。
  • @void.pointer 太长了,我不知道我最初是在哪里找到的 :) 它确实出现在日志记录格式/自定义格式功能下的示例之一中:boost.org/doc/libs/1_58_0/libs/log/doc/html/log/tutorial/…
  • 我打算放弃使用它,我正在尝试设置它,它太难了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多