SunnyValeの日記: log4cxx
日記 by
SunnyVale
開発しているアプリケーションが正常に動作しているかを知るため logging することはよくあります。
現在、C++ でアプリケーションを作成しているのですが、この logging するライブラリに log4cxx というものがあることを初めて知りました。Java にはとても有名な logging ライブラリ log4j がありますが、log4cxx は log4j を C++ へ porting したものです。
今までは、log4cpp を使っていたのですが、次の点が短所でした。
- ログの出力先や出力レベルなどを設定ファイルで変更できるが、xml で書けない(ソースコードを読まないと書けなくて、適当なテキスト形式らしい・・・)
- 2002 年から更新されていない
しかし、log4cxx では設定ファイルが xml で書ける上に、つい最近までメンテナンスされているようなので、log4cxx を使うことにしました。サポートされているコンパイラは、gcc と msvc 6.0 でしたが、msvc 7.1 のプロジェクトファイルがはいっていたので、すぐに使えそうでした。しかし、やはり一部のモジュールでコンパイルが通らなくてはまりました・・・。
なんとか、log4cxx の設定ファイルの書き方や使い方が分かったところで、かゆいところを拡張してみました。
あとは、今作成しているアプリケーションに組み込むだけです。
最後に、他の C++ logging ライブラリには、log4cplus というものもあったので展開だけしてみましたが、やはり log4cxx が一番気合いが入っていそうです。
log4cxx More ログイン