←フエルチラシノウラ。トップページへもどる。

【C++】C++版ログツールLog4cppを使ってみよう。【Log4J】

C++ Log4cpp ロガー 開発 ツール ログ

Log4JのC++移植版「Log4cpp」を使ってみましょう。


■設定ファイル

  まず、設定ファイルを作成します。
  ファイル名は log4cpp.init です。


 -- log4cpp.init
 # Application appender
  appender APPLICATION_NAME pattern file test.log %d [%c] %p - %m%n
 # 出力レベル DEBUG, INFO, WARN, ERROR etc
  priority APPLICATION_NAME DEBUG
 --

  APPLICATION_NAME の部分は任意のアプリ名に変更してください。
  test.log の部分は出力されるログファイルの名前です。これは任意の名前でOKです。
  DEBUG の部分は出力レベルです。 INFO, DEBUG, WARNING, ERROR etc


■ヘッダファイル

  次にヘッダファイルを用意しましょう。
  ヘッダファイルは以下のように作りました。他にもやりかたはあると思いますが、私はこれを利用しています。

 -- Log4cppDef.h
 #ifndef LOG4CPPDEF_H_
 #define LOG4CPPDEF_H_

 // log4cpp
  #include "log4cpp/Portability.hh"
 #ifdef WIN32
  #include 
  #endif
  #include 
 #include "log4cpp/Category.hh"
  #include "log4cpp/Appender.hh"
  #include "log4cpp/OstreamAppender.hh"
 #include "log4cpp/FileAppender.hh"
  #include "log4cpp/Layout.hh"
  #include "log4cpp/BasicLayout.hh"
 #include "log4cpp/Priority.hh"
  #include "log4cpp/NDC.hh"
 #include "log4cpp/PatternLayout.hh"
 #include "log4cpp/SimpleConfigurator.hh"

  // 設定ファイルのパス
  #define INIFILE4LOG "./log4cpp.init"
 // アプリ名
 #define APPNAME4LOG "APPLICATION_NAME"

 extern log4cpp::Category& logger = log4cpp::Category::getInstance(std::string(APPNAME4LOG));

  #endif /*LOG4CPPDEF_H_*/
  --
  "./log4cpp.init"の部分は上記の ■設定ファイル のところで作成した設定ファイル名です。
  "APPLICATION_NAME"の部分は上記の ■設定ファイル のところで設定ファイル内に記述した APPLICATION_NAME です。


■使い方

  まず、上記の ヘッダファイル をincludeします。

 #include "Log4cppDef.h"


  次に、メ[スコード中の一番先頭(一番最初に読み込まれる処理)に以下の初期化ロジックを組み込みます。

   // log4cpp を初期化します。
  log4cpp::SimpleConfigurator::configure(INIFILE4LOG);

  そして、ログを埋め込みたい部分に以下のようにコーディングします。

  logger.debug("ログ出力しまーす。");

  以上です。簡単でしょ?


■忘れずに
  
  log4cpp のヘッダファイルやインクルードファイルにビルドパスを通しましょう。
  上級者でこれを忘れる人はいないと思いますが、念のため。
  
■参考
  
  Log for C++ 本家
  http://log4cpp.sourceforge.net/
  ベイダー日記 - Boland C++ Builder (Compiler) で log4cpp を使ってみる
  http://d.hatena.ne.jp/wata_d/20051215/1134633660
  dot.dialy
  http://d.hatena.ne.jp/dot/20031111
  いろいろ memo - log4cpp
  http://www5d.biglobe.ne.jp/~y0ka/cat_log4cpp.html

http://goodjob.boy.jp/chirashinoura/id/94.html

作成日: 2006-08-30 12:45:01

最終更新日: 2006-08-30 12:45:01

▲このページの上へ