MTプラグインのデバッグ。
公開日 : 2008-04-11 17:56:13
プラグインのデバッグをどうしてますか? っていう質問がどっかで出てましたよね。みなさんどうされてるんでしょうね。って言うのも何だから自分の場合はってのを書いておきます。
MTのログに変数の値とか保存したらって話がありましたよね? 僕も時々やります。具体的には以下のようにするとログに保存されます。
$app->log($foo);
もちろん真面目? に
use MT::Log;
my $log = MT::Log->new;
$log->message($foo);
$log->save
or die $log->errstr;
としても同じ。こっちの方法の場合はlevelとかclassとかmetadataとかも保存できるので、必要に応じて使うといいと思う。
ただ、本当はこの辺↓のしくみがそれ(debug)のしくみにあたるんではないかなぁ...誰か教えてください!
僕が個人的によくやるのは実は普通にテキストファイルにログを吐く方法。ごく普通に、こんな感じで変数の値とかをテキストに吐く。
open FH, ">>debug.log";
print FH "$foo¥n";
close FH;
で、この方法は実はMacローカルで書いている時にお勧めで、ポイントは保存するログの拡張子を.logにすること。で、このログをダブルクリックするとデフォルトのMacだとコンソールが起動しますよね。で、これログファイルをいちいち開かなくてもリアルタイムにウィンドウに反映されるんですね。
↑これ、昨日書いたプラグインのデバック時のログ。アーカイブの数とページ分割されて出来るページの数、吐き出されるアーカイブのパスが再構築中にリアルタイムにずらずらーーーって見えるのです。
あ、もっといいやり方あったら是非教えてください。ってか、中の人は絶対何かやってる筈。でもMacローカルサーバー便利です、本当に。
あと、PERL5WEBDBってのもありますね。試してはいないのですが。