2014-01-27 87 views
7

我已經成功地使用boost::log登錄到stdout(使用TRIVIAL宏)登錄到文件(基本上遵循教程中的步驟)。Boost.Log同時寫入文件和stdout?

我們將如何配置同時登錄文件 stdout?

這是一個常見的情況在我們的設置中,當我們想兼得,一個日誌文件,並全部輸出轉到日誌在控制檯上。

任何輸入讚賞!

+0

你嘗試過閱讀[本文檔(http://boost-log.sourceforge.net/libs/log/doc/html/log/tutorial/sinks.html)?它說'你可以註冊多個接收器。每個接收器都將接收並處理日誌記錄,因爲它們獨立於其他人發出它們。 ' – nurettin

+0

@nurettin沒錯,但你如何註冊輸出到stdout匯?無法找到(尚未..) – cacau

+2

add_stream(升壓:: shared_ptr的<性病:: ostream的>(性病::法院,empty_deleter())); //? – nurettin

回答

15

作爲每the docs可以簡單地使用的便利add_console_log()函數,如下所示:

#include <boost/log/utility/setup/console.hpp> 

logging::add_console_log(std::cout, boost::log::keywords::format = ">> %Message%"); 

當然,你可以隨時手動挖入水槽配置由一些評論所指示的。