音楽に関する話題、プログラムに関する話題、ジョギングに関する話題、後は日々気になったことを綴っていきます。
ザ☆ミュージシャンズ・プログラマー - Exploring Music & Programming -



今日は Log4perl を試してみました。
実験マシンはSolaris10です。
まずはCPANから最新版を取得します。Log4perl(1.28)

■インストールする

一応サーバーの管理者なのでroot権限でデフォルトで入れれますが、お試しなので、通常ユーザーのディレクトリ(ホーム直下にperl5をこしらえます)にインストールしました。

> gzcat Log-Log4perl-1.28.tar.gz | tar xvf -

> rm Log-Log4perl-1.28.tar.gz

> cd Log-Log4perl-1.28

> mkdir $HOME/perl5

> perl Makefile.PL PREFIX=$HOME/perl5 INSTALLMAN1DIR=$HOME/perl5/man/man1 INSTALLMAN3DIR=$HOME/perl5/man/man3

> make

> make test

> make install

これでインストールは完了です。

自分としてはいつもやるのですが、バージョン確認です。

> /bin/perl -I$HOME/perl5/lib -I$HOME/perl5/lib/site_perl -MLog::Log4perl -e 'print $Log::Log4perl::VERSION,"\n"'
1.28

インクルード・ディレクトリの指定は面倒なので、ログイン・シェルに以下を追加しました。

setenv PERL5LIB /export/home/ladm/perl5/lib:/export/home/ladm/perl5/lib/site_perl

※ちなみに、ログイン・シェルはtcshです。BournShellの場合は以下のようになります。

PERL5LIB=/export/home/ladm/perl5/lib:/export/home/ladm/perl5/lib/site_perl; export PERL5LIB

> /bin/perl -MLog::Log4perl -e 'print $Log::Log4perl::VERSION,"\n"'
1.28

■サンプルを試す(1)

定義ファイル不要で、標準出力にメッセージを出力します。

- log-sample01.pl -

  1. #!/bin/perl
  2. use strict;
  3. use Log::Log4perl qw(:easy);
  4. #
  5. Log::Log4perl->easy_init($INFO);
  6. #
  7. DEBUG "このメッセージはどこにもでません。";
  8. INFO "これは情報メッセージです。";
  9. WARN "これは警告メッセージです。";
  10. ERROR "これは障害メッセージです。";
  11. FATAL "これは致命的なメッセージです。";
  12. exit 0;

> ./log-sample01.pl
2010/05/28 00:39:53 これは情報メッセージです。
2010/05/28 00:39:53 これは警告メッセージです。
2010/05/28 00:39:53 これは障害メッセージです。
2010/05/28 00:39:53 これは致命的なメッセージです。

★DEBUGを出したい場合は、5行目の$INFOを$DEBUGにすればよい(^^♪

■サンプルを試す(2)

定義ファイルを使って、ログ・ファイルにメッセージを出力します。

- log-sample02.pl -

  1. #!/bin/perl
  2. use strict;
  3. use Log::Log4perl;
  4. #
  5. Log::Log4perl::init('/tmp/log4perl.conf');
  6. my $logger = Log::Log4perl->get_logger('hoge.foo.bar');
  7. #
  8. $logger->debug('これはデバッグメッセージです。');
  9. $logger->info('これは情報メッセージです。');
  10. $logger->warn('これは警告メッセージです。');
  11. $logger->error('これは障害メッセージです。');
  12. $logger->fatal('これは致命的なメッセージです。');
  13. exit 0;

- /tmp/log4perl.conf -(定義ファイル)

デバッグ以上をログ・ファイルに、情報以上を標準出力へ

  1. log4perl.rootLogger=DEBUG, LOGFILE
  2. log4perl.logger.hoge.foo.bar=INFO, OUT
  3. #
  4. log4perl.appender.LOGFILE=Log::Log4perl::Appender::File
  5. log4perl.appender.LOGFILE.filename=sample02.log
  6. log4perl.appender.LOGFILE.mode=append
  7. log4perl.appender.LOGFILE.layout=PatternLayout
  8. log4perl.appender.LOGFILE.layout.ConversionPattern=%d %p %c - %m%n
  9. #
  10. log4perl.appender.OUT=Log::Log4perl::Appender::Screen
  11. log4perl.appender.OUT.layout=PatternLayout
  12. log4perl.appender.OUT.layout.ConversionPattern=%d %p %c - %m%n

とりあえず、今日はこのあたりで。



コメント ( 0 ) | Trackback ( )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする



« cvsのコミット... Log4perl - Sy... »
 
コメント
 
コメントはありません。
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。