diff options
author | Jiri Vanek <[email protected]> | 2013-09-25 18:50:18 +0200 |
---|---|---|
committer | Jiri Vanek <[email protected]> | 2013-09-25 18:50:18 +0200 |
commit | 19e74fe5dacd03e0cb5582f840e15262e39fe24f (patch) | |
tree | 38ffc4f47f7641f8d20ba0e0e8a97a97ffb1db64 /netx/net/sourceforge/jnlp/StreamEater.java | |
parent | fcd5c4c69fc5ea84b04f309eb40e295eab921fd8 (diff) |
Introduced logging bottleneck
Diffstat (limited to 'netx/net/sourceforge/jnlp/StreamEater.java')
-rw-r--r-- | netx/net/sourceforge/jnlp/StreamEater.java | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/netx/net/sourceforge/jnlp/StreamEater.java b/netx/net/sourceforge/jnlp/StreamEater.java index 4cd3485..88fbfbc 100644 --- a/netx/net/sourceforge/jnlp/StreamEater.java +++ b/netx/net/sourceforge/jnlp/StreamEater.java @@ -19,6 +19,7 @@ package net.sourceforge.jnlp; import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; +import net.sourceforge.jnlp.util.logging.OutputController; /** * This class reads the output from a launched process and writes it to stdout. @@ -32,12 +33,22 @@ public class StreamEater extends Thread { public void run() { try { + StringBuilder s = new StringBuilder(); while (true) { int c = stream.read(); - if (c == -1) + if (c == -1){ + OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, s.toString()); break; - - System.out.write(c); + } else { + char ch = (char) c; + if (ch == '\n'){ + OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, s.toString()); + s = new StringBuilder(); + }else { + s.append((char) c); + } + } + } } catch (IOException ex) { } |