簡體   English   中英

Boost.Log配置文件

[英]Boost.Log Configuration Files

我正在添加日志到舊的C ++程序。 經過一番研究,我決定使用Boost Log 文檔中充滿了創建接收器和過濾器的示例。 但是,我找不到任何日志配置文件的示例。

有沒有辦法從不必編譯的文件配置日志記錄? 與log4net類似? 或者Python(好吧,因為Python不編譯,反正......)?

最終我發現了官方文檔,無論是最近添加的,還是隱藏得很好,以至於我之前沒有看到它:

http://www.boost.org/doc/libs/1_57_0/libs/log/doc/html/log/detailed/utilities.html#log.detailed.utilities.setup.settings_file


不幸的是,我找不到詳盡的答案,但有些觀察:

當然可以使用配置文件:

boost :: log :: init_from_stream(std :: basic_istream <CharT>&)

文件示例(來自Boost日志severity_logger init_from_stream ):

[Sinks.MySink]
Destination=Console
Format="%LineID%: <%Severity%> - %Message%"

從以下鏈接中,您可以識別其他有效的設置鍵和值(例如,Destination = TextFile,Filter =,AutoFlush =,FileName =)

http://boost.2283326.n4.nabble.com/log-init-from-settings-problem-with-applying-format-and-filter-td3643483.html

boost的parser_utils.hpp中的常量給出了配置文件默認支持的關鍵字的另一個概念(例如,帶有密鑰DisableLogging的[Core]部分)。

此處描述了為用戶定義的類型提供設置(使用頁面末尾的配置文件的相應片段):

http://www.boost.org/doc/libs/1_57_0/libs/log/doc/html/log/extension/settings.html

在我看來,很難找到配置文件格式條目的描述,因為有效條目是從實現接收器,過濾器等的源代碼派生的。這種實現甚至可以是用戶定義的,因此不可能給出顯式配置格式說明。

也許您可以嘗試以編程方式創建配置,並在將其轉換為配置文件的形式時,您可以針對您無法找到如何設置它們的特定屬性打開單獨的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM