Class AnsiColorLogger

  extended by
      extended by
All Implemented Interfaces:
java.util.EventListener, BuildListener, BuildLogger

public class AnsiColorLogger
extends DefaultLogger

Uses ANSI Color Code Sequences to colorize messages sent to the console.

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.

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

NOTE: It doesn't work on WinNT's COMMAND.COM even with ANSI.SYS loaded.

The default colors used for differentiating the message levels can be changed by editing the /org/apache/tools/ant/listener/ file. This file contains 5 key/value pairs:


Another option is to pass a system variable named ant.logger.defaults, with value set to the path of the file that contains user defined Ansi Color Codes, to the java command using -D option.

To change these colors use the following chart:


Format for AnsiColorLogger.*= Attribute;Foreground;Background Attribute is one of the following:
  0 -> Reset All Attributes (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

Field Summary
Fields inherited from class
emacsMode, err, LEFT_COLUMN_SIZE, lSep, msgOutputLevel, out
Constructor Summary
Method Summary
protected  void printMessage(java.lang.String message, stream, int priority)
          Prints a message to a PrintStream.
Methods inherited from class
buildFinished, buildStarted, extractProjectName, formatTime, getBuildFailedMessage, getBuildSuccessfulMessage, getTimestamp, log, messageLogged, setEmacsMode, setErrorPrintStream, setMessageOutputLevel, setOutputPrintStream, targetFinished, targetStarted, taskFinished, taskStarted
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail


public AnsiColorLogger()
Method Detail


protected void printMessage(java.lang.String message,
                            int priority)
Prints a message to a PrintStream..

printMessage in class DefaultLogger
message - The message to print. Should not be null.
stream - A PrintStream to print the message to. Must not be null.
priority - The priority of the message. (Ignored in this implementation.)