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 module のなかに押し込めてあります。このモジュール(デフォルトは FML::Log::Print::Simple)は config.cf で log_computer_output_engine を 変数を使えば変更可能です。出力を切替えたい場合は、自分用のモジュールを 作り、それを、この変数に指定してください。モジュールは FML::Log::Print::Simple を参考に、hack してみてください:)
author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.
For questions about FML, e-mail <fml-bugs@fml.org>.