<!--
   $FML: log.sgml,v 1.3 2006/01/16 10:24:27 fukachan Exp $
-->


<chapter id="operations.log">
	<title>
	ログの扱い
	</title>


<sect1 id="operations.log.see">
	<title>
	ログを見る
	</title>

<para>
<screen>
% makefml log ＭＬ名
% fml     ＭＬ名 log
</screen>
で、最近のログ(デフォルトでは 30 行分)が表示されます。
</para>

<para>
GUI からもログを見ることが可能です(裏では log コマンドを実行している)。
</para>

</sect1>


<sect1 id="operations.log.computeroutput">
	<title>
	機械処理向きのログを表示する
	</title>

<para>
&fml8; 以外の別のコマンドや独自の CGI などから 
&fml8; CUI を呼びだし処理をさせたい場合に
STDERR などで &fml8; からのログを受けとりたいことがあります。
</para>

<para>
そういった場合は、
<screen>
% makefml --log-computer-output コマンド ＭＬ名
% fml --log-computer-output     ＭＬ名 コマンド
</screen>
とすると、コマンドの結果が標準出力( STDOUT )へ、
ログが STDERR へ出力されます。
</para>

<para>
たとえば次のようになります。
<screen>
% 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
</screen>
この例（デフォルト）では、
「時刻(unix time)、ログのレベル(info,warning,errorなど)、メッセージ」
となっています。
</para>

<para>
コマンドラインオプション --log-computer-output は、
config.cf などで
<screen>
use_log_computer_output = yes
</screen>
と指定することでも同じ効果となります。
</para>

<para>
しかしながら、この変数を yes にすると、makefml や fml だけでなく、配送
やコマンドメールのプログラムも STDERR にログを出力してしまいますので注
意してください。
</para>

<para>
メッセージのキューイングの内部構造や出力フォーマットは、ある perl
module のなかに押し込めてあります。このモジュール(デフォルトは 
FML::Log::Print::Simple)は config.cf で log_computer_output_engine を
変数を使えば変更可能です。出力を切替えたい場合は、自分用のモジュールを
作り、それを、この変数に指定してください。モジュールは
FML::Log::Print::Simple を参考に、hack してみてください:)
</para>

</sect1>


<sect1 id="operations.log.recipes">
	<title>
	レシピ’s
	</title>

&sect.op.log.recipes;

</sect1>


</chapter>
