8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Boost.Logの使い方(1. 概略)

Last updated at Posted at 2015-03-14
  1. 概略
  2. ログの収集
  3. ログの出力
  4. cmakeによるコンパイル

Boost.Logの全体像

Design.png
(Design overviewより転載)
Boost.Logには3つの階層があり、

  • logger : アプリがログを出力するためのインターフェイス
  • core : 各loggerから取得したログをまとめて、フィルタリングしたりする
  • sink : logをファイルや標準出力したりする(ここでフィルターもできる)

アプリ、あるいはモジュールをユーザーが使用する場合

  • core, logger : アプリ、モジュールが使用
  • core, sink : ユーザーが使用

のように使う事になります。
loggerはなるべく多くの情報を提供し、ユーザー側がcore/sinkの設定でフィルターします。

特徴

  • macroを多用する
  • placeholderを多用する

特にplaceholderは慣れると便利なんですが、
Boost.Lambdaに慣れ親したしんだ諸兄にはともかく、
C++11以降の我々ゆとりC++erには少しハードルが高いかもしれません。

利点

  • 全体の設計が一貫しているので大規模化しやすい(?)

難点

  • compile遅い
  • macroなにしてるかわかりにくい
  • placeholderきもい (個人の感想です)

references

8
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?