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(..)
が使えなくなりました。ぐぐるといくつか利用例があるようなのでご注意ください