2014-01-20 18 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

我將放棄使用它,我正在設置它,它也是如此難 –

相關問題