ログの取扱い
ログを見る
% makefml log ML名
% fml ML名 log
で、最近のログ(デフォルトでは 30 行分)が表示されます。
GUI からもログを見ることが可能です(裏では log コマンドを実行しています)。
機械処理向きのログを表示する
自分でウエブインターフェイスなどを作りこみたい場合には、
次のような方法が活用できます。
たとえば
&fml8; 以外の別のコマンドや独自の CGI などから
&fml8; CUI を呼びだし処理をさせたい場合が該当します。
この場合、
STDERR などで &fml8; からのログを受けとりたいでしょう。
このような事例では、
% makefml --log-computer-output コマンド ML名
% fml --log-computer-output ML名 コマンド
とすると、
コマンドの結果が標準出力( STDOUT )へ、
ログが STDERR へ出力されます。
たとえば次のような挙動になります。
% fml --log-computer-output elena@fml.org list
rudo@nuinui.net
1070109341 info lock channel=recipient_map_modify
1070109342 info unlock channel=recipient_map_modify
この例(デフォルト)では、
「時刻(unix time)、ログのレベル(info,warning,errorなど)、メッセージ」
となっています。
コマンドラインオプション --log-computer-output は、
config.cf などで
use_log_computer_output = yes
と指定することでも同じ効果となります。
しかしながら、
この変数を yes にすると、
makefml や fml だけでなく、
配送やコマンドメールのプログラムも STDERR にログを出力するようになります。
注意してください。
メッセージのキューイングの内部構造や出力フォーマットは、
ある Perl モジュールのなかに押し込めてあります。
このモジュール(デフォルトは FML::Log::Print::Simple)は
config.cf
で
log_computer_output_engine を変数を使えば変更可能です。
出力を切替えたい場合は、
自分用のモジュールを作り、そのモジュールを、この変数に指定してください。
モジュールは FML::Log::Print::Simple を参考に、hack してみてください:)
レシピ’s
§.op.log.recipes;