From 0551fff52443b2cf17815268fd55e810975682a7 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Fri, 23 Nov 2001 12:53:43 +0000 Subject: [PATCH] flush logfile while logging - otherwise tail -f get's boring. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269998 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/tools/ant/DefaultLogger.java | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/main/org/apache/tools/ant/DefaultLogger.java b/src/main/org/apache/tools/ant/DefaultLogger.java index 0e6229475..835ca6baf 100644 --- a/src/main/org/apache/tools/ant/DefaultLogger.java +++ b/src/main/org/apache/tools/ant/DefaultLogger.java @@ -133,18 +133,19 @@ public class DefaultLogger implements BuildLogger { Throwable error = event.getException(); if (error == null) { - out.println(lSep + "BUILD SUCCESSFUL"); + printlnAndFlush(out, lSep + "BUILD SUCCESSFUL"); } else { - err.println(lSep + "BUILD FAILED" + lSep); + printlnAndFlush(err, lSep + "BUILD FAILED" + lSep); if (Project.MSG_VERBOSE <= msgOutputLevel || !(error instanceof BuildException)) { error.printStackTrace(err); + err.flush(); } else { if (error instanceof BuildException) { - err.println(error.toString()); + printlnAndFlush(err, error.toString()); } else { err.println(error.getMessage()); @@ -152,12 +153,12 @@ public class DefaultLogger implements BuildLogger { } } - out.println(lSep + "Total time: " + formatTime(System.currentTimeMillis() - startTime)); + printlnAndFlush(out, lSep + "Total time: " + formatTime(System.currentTimeMillis() - startTime)); } public void targetStarted(BuildEvent event) { if (Project.MSG_INFO <= msgOutputLevel) { - out.println(lSep + event.getTarget().getName() + ":"); + printlnAndFlush(out, lSep + event.getTarget().getName() + ":"); } } @@ -188,7 +189,7 @@ public class DefaultLogger implements BuildLogger { } // Print the message - logTo.println(event.getMessage()); + printlnAndFlush(logTo, event.getMessage()); } } @@ -210,4 +211,12 @@ public class DefaultLogger implements BuildLogger { } + /** + * Print a line to the given stream and flush the stream right after that. + */ + private void printlnAndFlush(PrintStream p, String line) { + p.println(line); + p.flush(); + } + }