Listeners & Loggers




Ant has two related features to allow the build process to be monitored: listeners and loggers.

Ant にはビルドプロセスをモニターできるようにするために、 リスナーとロガーという 2 つの関連する機能があります。



A listener is alerted of the following events:




Loggers extend the capabilities of listeners and add the following features:


Built-in Listeners/Loggers


Classname Description Type The logger used implicitly unless overridden with the -logger command-line switch. BuildLogger This logger omits output of empty target output. BuildLogger Extends DefaultLogger such that output is still generated the same, and when the build is finished an e-mail can be sent. BuildLogger Colorifies the build output. BuildLogger Passes events to Log4j for highly customizable logging. BuildListener Writes the build information to an XML file. BuildLogger
クラス名 説明 種類 -logger コマンドラインオプションにより上書きされない限り暗黙的に使われるロガー BuildLogger このロガーはターゲット出力が無い場合に、出力を省略します。 BuildLogger 出力は同じように生成され、ビルドが終った時にEメールを送れるような DefaultLogger を拡張したもの BuildLogger ビルド出力をカラーにする BuildLogger ログ生成を高度にカスタマイズするために Log4J にイベントを渡します BuildListener ビルド情報を XML ファイルの書き出す BuildLogger


Simply run Ant normally, or:

単純に Ant を通常通り実行するか、あるいは:

ant -logger


Removes output of empty target output.


ant -logger


The MailLogger captures all output logged through DefaultLogger (standard Ant output) and will send success and failure messages to unique e-mail lists, with control for turning off success or failure messages individually.

MailLogger は DefaultLogger により全てのログ出力(Ant の標準出力)をキャプチャーし、結果の反対のメッセージをオフにしながら、 Eメールのリストに対し、成功あるいは失敗のメッセージを送ります。

Properties controlling the operation of MailLogger:

MailLogger を実行制御するプロパティ:

Property Description Required
MailLogger.mailhost Mail server to use No, default "localhost"
MailLogger.from Mail "from" address Yes, if mail needs to be sent
MailLogger.failure.notify Send build failure e-mails? No, default "true"
MailLogger.success.notify Send build success e-mails? No, default "true" Address(es) to send failure messages to, comma-separated Yes, if failure mail is to be sent Address(es) to send success messages to, comma-separated Yes, if success mail is to be sent
MailLogger.failure.subject Subject of failed build No, default "Build Failure"
MailLogger.success.subject Subject of successful build No, default "Build Success" Filename of properties file that will override other values. No
プロパティ 説明 必須
MailLogger.mailhost 使用するメールサーバー No、デフォルトは "localhost"
MailLogger.from メールの "From" アドレス メールを送る場合 Yes
MailLogger.failure.notify ビルド失敗のメールを送るか No、デフォルトは "true"
MailLogger.success.notify ビルド成功のメールを送るか No、デフォルトは "true" カンマ区切りの失敗メッセージ送信先アドレス 失敗メールを送る場合 Yes カンマ区切りの成功メッセージ送信先アドレス 成功メッセージを送る場合 Yes
MailLogger.failure.subject ビルド失敗の時の件名 No、デフォルトは "Build Failure"
MailLogger.success.subject ビルド成功の時の件名 No、デフォルトは "Build Success" 他の値を上書きするプロパティファイル名 No

ant -logger


The AnsiColorLogger adds color to the standard Ant output by prefixing and suffixing ANSI color code escape sequences to it. It is just an extension of DefaultLogger and hence provides all features that DefaultLogger does.

AnsiColorLogger は、Ant の標準の出力に、 その前後に ANSI カラーコードエスケープシーケンスを置くことにより、 色付きで出力します。 これは単に、DefaultLoggerの拡張なので、 DefaultLogger が提供する全ての機能が提供されます。

AnsiColorLogger differentiates the output by assigning different colors depending upon the type of the message.

AnsiColorLogger は、 メッセージの種類に依存して異なる色を割り当てることにより、 出力を区別します。

If used with the -logfile option, the output file will contain all the necessary escape codes to display the text in colorized mode when displayed in the console using applications like cat, more, etc.

-logfile オプションと共に用いられた場合、 catやmoreなどのアプリケーションを使ってコンソールで表示する際に、 テキストが色付きで表示されるように、 出力ファイルには必要なエスケープコードが全て含まれています。

This is designed to work on terminals that support ANSI color codes. It works on XTerm, ETerm, Win9x Console (with ANSI.SYS loaded.), etc.

これは ANSI カラーコードをサポートする端末で動作するように設計されました。 XTerm、ETerm、(ANSI.SYSをロードした)Win9xコンソールなどで動作します。

NOTE: It doesn't work on WinNT even when a COMMAND.COM console loaded with ANSI.SYS is used.

注意: ANSI.SYSをロードしたCOMMAND.COMコンソールを使っても、 WinNT では、これは動作しません。

If the user wishes to override the default colors with custom ones, a file containing zero or more of the custom color key-value pairs must be created. The recognized keys and their default values are shown below:

ユーザがデフォルトのカラーをカスタマイズしたものに上書きしたいと思った場合には、 カスタムカラーのキーと値のペアを、 ゼロ個以上含むファイルが作られなければなりません。 認識されるキーおよび、そのデフォルト値は下の通りです:


Each key takes as value a color combination defined as Attribute;Foreground;Background. In the above example, background value has not been used.

個々のキーは、 属性;フォアグランド色;バックグラウンド色で定義される色の組み合わせを値として取ります。 上の例においては、バックグラウンドの値は使われていません。

This file must be specfied as the value of a system variable named ant.logger.defaults and passed as an argument using the -D option to the java command that invokes the Ant application. An easy way to achieve this is to add -Dant.logger.defaults= /path/to/your/file to the ANT_OPTS environment variable. Ant's launching script recognizes this flag and will pass it to the java command appropriately.

このファイルは ant.logger.defaults という名前のシステム変数の値として 指定し、Ant アプリケーションを起動する javaコマンドの -D オプションを使って引数として渡さなければなりません。 これを行う簡単な方法は、 ANT_OPTS 環境変数に -Dant.logger.defaults=/path/to/your/fileを加えることです。 Ant起動スクリプトはこのフラグを認識し、 java コマンドに適切に渡します。




Attribute is one of the following:

0 -> 全属性をリセット (標準モードに戻る/return to normal mode)
1 -> Bright (通常太字になる/Usually turns on BOLD)
2 -> Dim
3 -> Underline
5 -> link
7 -> Reverse
8 -> Hidden

Foreground is one of the following:
30 -> Black
31 -> Red
32 -> Green
33 -> Yellow
34 -> Blue
35 -> Magenta
36 -> Cyan
37 -> White

Background is one of the following:
40 -> Black
41 -> Red
42 -> Green
43 -> Yellow
44 -> Blue
45 -> Magenta
46 -> Cyan
47 -> White

ant -logger


Passes build events to Log4j, using the full classname's of the generator of each build event as the category:

カテゴリとして、個々のビルドイベントの元となるフルクラス名を用いて、 ビルドイベントを Log4J に渡します:

All start events are logged as INFO.  Finish events are either logged as INFO or ERROR depending on whether the build failed during that stage. Message events are logged according to their Ant logging level, mapping directly to a corresponding Log4j level.

全ての開始イベントはINFOとして、ログ記録されます。 終了イベントは、 ステージ中でビルドが失敗したかどうかにより、 INFO あるいは ERROR のいずれかでログ記録されます。 メッセージイベントは、 Ant のログレベルに従って、 関連する Log4J のレベルに直接マップしながら、 ログ記録されます。

ant -listener


Writes all build information out to an XML file named log.xml, or the value of the XmlLogger.file property if present, when used as a listener. When used as a logger, it writes all output to either the console or to the value of -logfile. Whether used as a listener or logger, the output is not generated until the build is complete, as it buffers the information in order to provide timing information for task, targets, and the project.

リスナーとして使用されたときは、 log.xml という名前の XML ファイル、あるいは、 XmlLogger.fileプロパティがあればその値の XML ファイルに全てのビルド情報を書き出します。 ロガーとして使用されたときは、 全ての出力をコンソールか-logfileの値のファイルのいずれかに出力します。 リスナーとして使っても、ロガーとして使っても、 タスク、ターゲット、およびプロジェクトのためのタイミング情報を提供するために、 情報をバッファリングしているので、 出力はビルドが完了するまで生成されません。

By default the XML file creates a reference to an XSLT file "log.xsl" in the current directory; look in ANT_HOME/etc for one of these. You can set the property ant.XmlLogger.stylesheet.uri to provide a uri to a style sheet. this can be a relative or absolute file path, or an http URL. If you set the property to the empty string, "", no XSLT transform is declared at all.

デフォルトでは、 XML ファイルは "log.xsl" XSLT ファイルへの参照をカレントディレクトリに作成します; これらのうちの一つが ANT_HOME/etc にあります。 スタイルシートの URL を指定するために、 プロパティ ant.XmlLogger.stylesheet.uri を設定できます。 これは、ファイルパスは相対パスでも絶対パスでも、 また、HTTP の URL でも構いません。 このプロパティに空の文字列を指定した場合、 XSLT による変換は全く定義されません。

ant -listener
ant -logger -verbose -logfile build_log.xml

Writing your own


See the Build Events section for developers.

開発者向けの ビルドイベント の節をご覧ください。



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

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