问题
I'd like to use AnsiColorLogger to get color ouput from Ant. I'm using Git Bash on Windows.
I tried:
$ ant -logger org.apache.tools.ant.listener.AnsiColorLogger
but my output looks like:
Buildfile: c:\foo\build.xml
←[2;36m    [junit] Testsuite: org.foo.BarTest←[m
←[2;36m    [junit] Tests run: 1, Failures: 1, Errors: 0, Time elapsed: 0.188 sec←[m
←[2;36m    [junit] ←[m
←[2;36m    [junit] Testcase: testInherits took 0.175 sec←[m
←[2;36m    [junit]      FAILED←[m
←[2;36m    [junit] subdir not child←[m
←[2;36m    [junit] junit.framework.AssertionFailedError: subdir not child←[m
←[2;36m    [junit]      at org.foo.BarTest.testInherits(BarTest.java:61)←[m
←[2;36m    [junit] ←[m
←[2;31m    [junit] Test org.foo.BarTest FAILED←[m
I know ANSI colors work, at least partially, in Git Bash because commands like ls -ACF --color=auto produce nicely colored output.
What's the trick for Ant?
回答1:
After much Googling and experimentation, I combined several variations into a solution that works well for the particular combination of Git Bash, Ant and Windows.
Relaunch Git Bash after adding the following lines to your .bashrc file:
alias ant='cant'
function cant {
  "ant" -logger org.apache.tools.ant.listener.AnsiColorLogger "$@" \
      2>&1 | perl -pe 's/(?<=\e\[)2;//g'
}
Git Bash Noob Tip: .bashrc file, if it exists, lives in your home directory.  Here's how to create/edit it:
$ cd
$ notepad .bashrc &
    回答2:
it's probably even easier to just set the environment variable ANT_ARGS. e.g. just put this in your .bashrc:
export ANT_ARGS='-logger org.apache.tools.ant.listener.AnsiColorLogger'
    来源:https://stackoverflow.com/questions/8129363/how-to-see-color-ant-output-in-msys-git-bash