A recorder is a listener to the current build process that records the output to a file.


Several recorders can exist at the same time. Each recorder is associated with a file. The filename is used as a unique identifier for the recorders. The first call to the recorder task with an unused filename will create a recorder (using the parameters provided) and add it to the listeners of the build. All subsequent calls to the recorder task using this filename will modify that recorders state (recording or not) or other properties (like logging level).

幾つかのレコーダーが同時に存在することができます。 個々のレコーダーは一つのファイルに対応付けられています。 ファイル名はレコーダーを重ならない他と区別するものとして使われます。 使われていないファイルでの recorder タスクの最初の呼び出しにより、 (与えられたパラメータを用いて)レコーダーが生成されます. そして、それをビルドのリスナーに加えます。 これ以降の、このファイル名を用いた全ての recorder タスクの呼び出しは、 そのレコーダーの状態(レコード中か、そうでないか)あるいは、 他のプロパティ(ログレベルなど)を変更します。

Some technical issues: the file's print stream is flushed for "finished" events (buildFinished, targetFinished and taskFinished), and is closed on a buildFinished event.

幾つかの技術的な問題: ファイルの出力ストリームは、 "finished"イベント (buildFinished, targetFinished and taskFinished) でフラッシュされ、 buildFinishedイベントで閉じられます。



Attribute Description Required
name The name of the file this logger is associated with. yes
action This tells the logger what to do: should it start recording or stop? The first time that the recorder task is called for this logfile, and if this attribute is not provided, then the default for this attribute is "start". If this attribute is not provided on subsequent calls, then the state remains as previous. [Values = {start|stop}, Default = no state change] no
append Should the recorder append to a file, or create a new one? This is only applicable the first time this task is called for this file. [Values = {yes|no}, Default=yes] no
emacsmode Removes [task] banners like Ant's -emacs command line switch if set to true. no, default is false
loglevel At what logging level should this recorder instance record to? This is not a once only parameter (like append is) -- you can increase or decrease the logging level as the build process continues. [Values= {error|warn|info|verbose|debug}, Default = no change] no
属性 説明 必須
name このロガーが割り当てられるファイルの名前 yes
action これは、ロガーに対し何をするか指定します: レコードの開始、停止など。 このログファイルに対し、 recorder タスクへの呼び出しが最初であり、 この属性が指定されていない場合、 この属性のデフォルト値は"start"です。 この属性が、以降の呼び出しで指定されない場合、 状態は前と同じままです。 [値 = {start|stop}, デフォルト = 状態変更しない] no
append レコーダーはファイルに追記すべきか、 新しいファイルを作るべきか。 この属性は、 このタスクがこのファイルに対し最初に呼び出された時のみ適用可能です。 [値 = {yes|no}, デフォルト=yes] no
emacsmode trueに設定された場合、 Ant の -emacs コマンドラインスイッチのように [task]バナーを取り除きます。 no、デフォルトはfalse
loglevel このレコーダーインスタンスが記録するログのレベル。 これは、(appendのように) 一度きりのパラメータではありません。-- ビルドプロセスが続く限り、 ログレベルを増減できます。 [値= {error|warn|info|verbose|debug}、デフォルト = 変更しない] no


The following build.xml snippet is an example of how to use the recorder to record just the <javac> task:

次の build.xml ファイルの一部は、 <javac>タスクのみを記録するためのレコーダーの使用法の例です:

    <compile >
        <record name="log.txt" action="start" />
        <javac ...
        <record name="log.txt" action="stop" />

The following two calls to <record> set up two recorders: one to file "records-simple.log" at logging level info (the default) and one to file "ISO.log" using logging level of verbose.

次の二つの <record> の呼び出しは、 二つのレコーダーを設定します: 一つは、ファイル "records-simple.log" にログレベル info(デフォルト)で書き出し、 もう一つは、ファイル"ISO.log"にログレベル verboseで書き出します。

    <record name="records-simple.log" />
    <record name="ISO.log" loglevel="verbose" />



There is some functionality that I would like to be able to add in the future. They include things like the following:

将来、可能ならば加えたい幾つかの機能があります。 これには次のような事が含まれています:

Attribute Description Required
listener A classname of a build listener to use from this point on instead of the default listener. no
includetarget A comma-separated list of targets to automatically record. If this value is "all", then all targets are recorded. [Default = all] no
excludetarget no
includetask A comma-separated list of task to automatically record or not. This could be difficult as it could conflict with the includetarget/excludetarget. (e.g.: includetarget="compile" exlcudetask="javac", what should happen?) no
excludetask no
action add greater flexibility to the action attribute. Things like close to close the print stream. no
属性 説明 必須
listener デフォルトリスナーに代わって、この時点から使いたいビルドリスナーのクラス名 no
includetarget カンマで区切られた自動的に記録したいターゲットのリスト。 この値が"all"の場合、 全てのターゲットが記録されます。 [デフォルト = all] no
excludetarget no
includetask 自動的に記録したり、しなかったりするタスクのリスト。 includetarget/excludetargetが競合することもあるので、 これは難しいかもしれない。 (例: includetarget="compile" exlcudetask="javac"、これでどうなるか) no
excludetask no
action 柔軟性を高めるために action 属性を追加する。 出力ストリームを閉じるcloseのようなもの no

Copyright © 2001-2002 Apache Software Foundation. All rights Reserved.

[訳注:これは漆島賢二が翻訳しました。日本語訳に対するコメントがあれば report@jajakarta.orgに送ってください]