記録

説明

Recorder は、現在のビルドプロセスのリスナーで、出力をファイルに記録します。

複数の Recorder が同時に存在する場合があります。各 Recorder はファイルに関連付けられています。ファイル名は、Recorder の一意の ID として使用されます。未使用のファイル名を使用して record タスクを初めて呼び出すと、(提供されたパラメーターを使用して)Recorder が作成され、ビルドのリスナーに追加されます。このファイル名を使用して後続の record タスクを呼び出すと、Recorder の状態(記録の開始または停止)やその他のプロパティ(ロギングレベルなど)が変更されます。

いくつかの技術的な問題があります。ファイルのプリントストリームは finished イベント(buildFinishedtargetFinishedtaskFinished)に対してフラッシュされ、buildFinished イベントで閉じられます。

パラメーター

属性 説明 必須
名前 このロガーが関連付けられているファイルの名前。 はい
アクション これによりロガーの操作が決定されます。記録を開始する必要があるか、停止する必要があるか。このログファイルに対して recorder タスクが初めて呼び出され、この属性が提供されていない場合、この属性のデフォルトは start になります。以降の呼び出しでこの属性が提供されない場合、状態は前回のままです。 いいえ [値 = start|stop、デフォルト = 状態変更なし]
追加 Recorder はファイルに追加するか、新しいファイルを作成しますか? これは、このタスクがこのファイルに対して初めて呼び出された場合にのみ適用されます。 いいえ [値 = start|stop、デフォルト = 状態変更なし]
emacsmode Apache Ant の -emacs コマンドラインスイッチのように [task] バナーを削除します。これは true に設定されている場合です。 いいえ。デフォルトは false です。
ログレベル この recorder インスタンスは、どのログレベルで記録する必要がありますか? これは一度だけのパラメーターではありません(append のように)。ビルドプロセスが継続するときに、ログレベルを増減できます。 いいえ [値 = error|warn|info|verbose|debug、デフォルト = 変更なし]

次の build.xml スニペットは、recorder を使用して <javac> タスクのみを記録する方法の例です。

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

次の 2 つの <record> に対する呼び出しは、2 つのリコーダーを設定します。1 つはログレベルが info(デフォルト)のファイル records-simple.log のもので、もう 1 つはログレベルが verbose のファイル ISO.log のものです。

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

メモ

今後追加したい機能がいくつかあります。次のようなものがあります。

属性 説明 必須
リスナー この時点で、デフォルトのリスナーの代わりに使用するビルドリスナーのクラス名。 いいえ
インクルードターゲット 自動的に記録するターゲットのカンマ区切りのリスト。この値が all の場合、すべてのターゲットが記録されます。 いいえ。デフォルトは all です。
エクスクルードターゲット いいえ
インクルードタスク 自動的に記録するまたは記録しないタスクのカンマ区切りのリスト。これは、includetarget/excludetarget と競合する可能性があるため、難しい場合があります(例: includetarget="compile" excludetask="javac"。どうすればよいですか?)。 いいえ
エクスクルードタスク いいえ
アクション action 属性にさらに柔軟性を追加します。プリントストリームを閉じる close などのもの。 いいえ