ログ

どう実装しようかちょっと悩み中。Tangerine::Core::Logを書いて、T::Plugin::Baseの親にしようかなと思ってる。T::P::Baseにログ関連の機能を持たせないのは、スクリプト中からもクラスメソッドとして呼び出せるようにしたいから。T::P::Baseに実装したとしても、そういう使い方も出来るけど、これは別のモジュールにしてしまった方が綺麗。ファイルハンドルはクラス変数に代入して、T::C::Logのインスタンスをいくつ作ったとしても、共通する唯一のログファイルに書き込むような感じで。こういう仕様にすると、やっぱりflock必須かな。マルチスレッドなプログラムでもないし、複数プロセスを同時に走らせるわけでもないから、flockしなくてもいいのかな。いちおうflockしておこう。気をつけないといけないのは、モジュールの外から直接ファイルハンドルにはアクセス出来ないようにすること。メソッドを介してのアクセスのみ許可するようにしないとね。