[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

機械処理向きのログを表示する

自分でウエブインターフェイスなどを作りこみたい場合には、 次のような方法が活用できます。

たとえば 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 してみてください:)

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >