2014-01-20 17 views
7

documentation of record_view指出它封装了日志消息字符串。是否有可能从boost :: log :: record_view中以字符串的形式检索记录的消息?

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

是否有可能,或者我必须从basic_formatted_sink_backend派生?

+0

我想你总是可以在本地并行存储一个本地副本并将其存储在其他地方(这就是我们在boost.log的包装中所做的) – Jay

回答

4

你可以这样说:

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

包括升压/记录/ expressions.h得到的boost ::记录::表达式:: smessage。

+2

这些地狱都记录在案吗?我发现Boost.Log令人难以置信的复杂和混乱,但他们的文档并不完全有帮助。我没有看到关于如何使用'record_view'对象的文档信息。 –

+0

@ void.pointer它太长了,我不知道最初是在哪里找到它的。:)它在日志记录格式化/自定义格式化函数下的一个例子中显示:http://www.boost.org/doc /libs/1_58_0/libs/log/doc/html/log/tutorial/formatters.html#log.tutorial.formatters.custom_formatting_functions –

+0

我将放弃使用它,我正在设置它,它也是如此难 –

相关问题