Hi, I'm using CruiseControl for our build process. Sometimes ant hangs for some reason which is annoying. I'm forced to use the XMLLogger (that is how CC communicates with ant). Anyway when Ant hangs I have no log because the xmllogger has finished the build. I therefore has written a shuttdown hook that finishes the build. I now have to register it as a task to add it. I do think though that if you finish the process the xmllogger should flush. RegisterTask has line Runtime.getRuntime().addShutdownHook(shutdownObj); The shutdown class looks like: public class BuildLoggerFlushShutdownHook extends Thread { Project project; public BuildLoggerFlushShutdownHook(Project project) { super(); this.project=project; } public void run() { BuildEvent buildEvent=new BuildEvent(project); buildEvent.setException(new BuildException("The build was shutdown, this stop was made by the shutdown hook "+ this.getClass().getName())); listener.buildFinished(buildEvent); } } That is my suggestion to add something similar if a logger is used that doesn't flush Regards Erik Romson