Log::Minimalでデバッグログを出力する時は

$ENV{LM_DEBUG} = 1;
debugf("hello Boofy");

と環境変数 LM_DEBUG を使うのですが、実はこの環境変数名はカスタマイズ変更可能で

local $Log::Minimal::ENV_DEBUG = "MYAPP_DEBUG";
$ENV{MYAPP_DEBUG} = 1;
debugf("hello Boofy");

と、$ENV_DEBUG を書き換えることで別の環境変数を参照させることができます。

(0.14時点でドキュメントにないですが..)

先日出した Log::Minimal 0.14でこのカスタマイズにもうひとつの方法が追加されました。hirose31さんpullreqありがとうございます!

use Log::Minimal env_debug => 'MYAPP_DEBUG';
$ENV{MYAPP_DEBUG} = 1;
debugf("hello Boofy");

モジュールを読み込む際の引数に env_debug => 環境変数名 とすると、$ENV_DEBUG が上書きされた debugf と debugff がエクスポートされるようになります。

さっそくProcletで使っています

https://metacpan.org/source/KAZEBURO/Proclet-0.20/lib/Proclet.pm

Procletは PROCLET_DEBUG という環境変数を有効にすると Proclet 自身のデバッグログを出力できます。

なお、この変更で、Exporterを継承しなくなったので

Log::Minimal->export_to_level(..)

が使えなくなりました。ぐぐるといくつか利用例があるようなのでご注意ください

このブログ記事について

このページは、Masahiro Naganoが2013年2月 1日 11:22に書いたブログ記事です。

ひとつ前のブログ記事は「GrowthForecastをCPANにリリースしました」です。

次のブログ記事は「apachectl -k restart は stop && start じゃないので気をつけましょう」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 4.27-ja