• Showing Page History #80611

サンプル

 log4cppのサンプルはtestsディレクトリの中にあります。しかし、説明が無いので、分かり難いところがありますので、説明します。

testsディレクトリの構成

 以下は、testsディレクトリの中にあるファイルと、その概要です。

1.testbench.cpp

 ログ出力にかかった時間を計測しています。

※Clock.cppとClock.hhも使用しています。

2.testCategory.cpp

 log4cpp::Categoryの使い方です。
1つのカテゴリに複数のアペンダーを設定したり、1つも設定されていないときにどうなるか?など。

3.testConfig.cpp

 log4cppの設定ファイル(シンプルフォーマット形式)の例です。 log4cpp::SimpleConfiguratorの使い方となります。

※log4cpp.initを読み込みます。
※注意:この形式の設定ファイルは非推奨です。

4.testErrorCollision.cpp

 ERRORという識別子が衝突しないことを確認するサンプルです。

5.testFilter.cpp

 フィルター(log4cpp::Filter)を使ったサンプルです。

6.testFixedContextCategory.cpp

 log4cpp::FixedContextCategoryを使ったサンプルです。 このクラスはlog4cpp::Categoryのサブクラスな訳ですが、何が違うかと言うと、NDC(ネスト化診断コンテキスト)の部分が固定文字列に置き換えられるということです。

7.testmain.cpp

 いろいろなAppenderを使ったサンプルです。カテゴリも複数使用しています。
恐らく、最も最初に見ることとなるサンプルでしょう。

8.testNDC.cpp

 log4cpp::NDCを使ったサンプルで、NDC(ネスト化診断コンテキスト)が、どのようなものなのかを示すものとなっています。

9.testNTEventLog.cpp

 log4cpp::NTEventLogAppenderを使ったサンプルです。

※NTEventLogAppenderはWindowsのイベントログにログ出力を行うアペンダーです。

10.testPattern.cpp

 log4cpp::PatternLayoutのサンプル、すなわち、

%c:カテゴリ
%d:日付

など、実際に置換した後の文字列を確認することができます。

11.testPriority.cpp

 log4cpp::Priorityのサンプルです。
優先度のコード(値)を文字列に変換したりといったことをしています。

12.testProperties.cpp

 log4cppの設定ファイルがどのように解析されるかを知ることができるサンプルです。

※log4cpp.propertiesを読み込みます。

13.testPropertyConfig.cpp

 log4cppの設定ファイルを使用し、ログ出力を行うサンプルです。

※testConfig.log4cpp.propertiesを読み込みます。