private OutputStream foldFiles(final File[] file, final String logHead, final int loglevel, final boolean append, final boolean createEmptyFiles) { final OutputStream result = new LazyFileOutputStream(file[0], append, createEmptyFiles); managingTask.log(logHead + file[0], loglevel); final char[] c = new char[logHead.length()]; Arrays.fill(c, ' '); final String indent = new String(c); for (int i = 1; i < file.length; i++) { outputStream = new TeeOutputStream(outputStream, new LazyFileOutputStream(file[i], append, createEmptyFiles)); managingTask.log(indent + file[i], loglevel); } return result; } }
/** outStreams */ private void outStreams() { if (out != null && out.length > 0) { final String logHead = "Output " + ((appendOut) ? "appended" : "redirected") + " to "; outputStream = foldFiles(out, logHead, Project.MSG_VERBOSE, appendOut, createEmptyFilesOut); } if (outputProperty != null) { if (baos == null) { baos = new PropertyOutputStream(outputProperty); managingTask.log("Output redirected to property: " + outputProperty, Project.MSG_VERBOSE); } // shield it from being closed by a filtering StreamPumper final OutputStream keepAliveOutput = new KeepAliveOutputStream(baos); outputStream = (outputStream == null) ? keepAliveOutput : new TeeOutputStream(outputStream, keepAliveOutput); } else { baos = null; } }
Project.MSG_INFO); outputStream = (outputStream == null) ? outputLog : new TeeOutputStream(outputLog, outputStream); Project.MSG_WARN); errorStream = (errorStream == null) ? errorLog : new TeeOutputStream(errorLog, errorStream);
: new TeeOutputStream(errorStream, keepAliveError); } else { errorBaos = null;
private PrintStream createTeePrint(final PrintStream ps1, final PrintStream ps2) { return new PrintStream(new TeeOutputStream(ps1, ps2)); }
final ByteArrayOutputStream out = new ByteArrayOutputStream(); final ByteArrayOutputStream errout = new ByteArrayOutputStream(); final OutputStream teeErr = suppressSystemErr ? errout : new TeeOutputStream(errout, KeepAliveOutputStream.wrapSystemErr()); final OutputStream tee = suppressSystemOut ? out : new TeeOutputStream(out, KeepAliveOutputStream.wrapSystemOut());
teeout= new TeeOutputStream(out, getSecondaryStream()); } else if(null!= getSecondaryStream()){ teeout= getSecondaryStream(); tee = new TeeOutputStream(teeout, new KeepAliveOutputStream(System.out)); }else{ tee= new KeepAliveOutputStream(System.out);