## org.apache.tools.ant.taskdefs
Class LogOutputStream

    java.lang.Object
      |
      +--java.io.OutputStream
            |
            +--org.apache.tools.ant.taskdefs.LogOutputStream

public class LogOutputStream
extends java.io.OutputStream

Logs each line written to this stream to the log system of ant. Tries to be smart about line separators.
TODO: This class can be split to implement other line based processing of data written to the stream.

Since:
  Ant 1.2
Author:
  thomas.haas@softwired-inc.com

Constructor Summary
`LogOutputStream(Task task, int level)` Creates a new instance of this class.

Method Summary
`void` `close()` Writes all remaining
`void` `flush()` Flush this log stream
`int` `getMessageLevel()`
`protected void` `processBuffer()` Converts the buffer to a string and sends it to `processLine`
`protected void` `processLine(java.lang.String line)` Logs a line to the log system of ant.
`protected void` `processLine(java.lang.String line, int level)` Logs a line to the log system of ant.
`void` `write(byte[] b, int off, int len)` Write a block of characters to the output stream
`void` `write(int cc)` Write the data to the buffer and flush the buffer, if a line separator is detected.

Methods inherited from class java.io.OutputStream
`write`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### LogOutputStream

    public LogOutputStream(Task task,
                           int level)

  Creates a new instance of this class.

Parameters:
  `task` - the task for whom to log
  `level` - loglevel used to log data written to this stream.

Method Detail

### write

    public void write(int cc)
               throws java.io.IOException

  Write the data to the buffer and flush the buffer, if a line separator is detected.

  Specified by:
    `write` in class `java.io.OutputStream`
  Parameters:
    `cc` - data to log (byte).
    `java.io.IOException`

### flush

    public void flush()

  Flush this log stream

  Overrides:
    `flush` in class `java.io.OutputStream`

### processBuffer

    protected void processBuffer()

  Converts the buffer to a string and sends it to `processLine`

### processLine

    protected void processLine(java.lang.String line)

  Logs a line to the log system of ant.

  Parameters:
    `line` - the line to log.

### processLine

    protected void processLine(java.lang.String line,
                               int level)

  Logs a line to the log system of ant.

  Parameters:
    `line` - the line to log.

### close

    public void close()
               throws java.io.IOException

  Writes all remaining

  Overrides:
    `close` in class `java.io.OutputStream`
    `java.io.IOException`

### getMessageLevel

    public int getMessageLevel()

### write

    public void write(byte[] b,
                      int off,
                      int len)
               throws java.io.IOException

  Write a block of characters to the output stream

  Overrides:
    `write` in class `java.io.OutputStream`
  Parameters:
    `b` - the array containing the data
    `off` - the offset into the array where data starts
    `len` - the length of block
  Throws:
    `java.io.IOException` - if the data cannot be written into the stream.

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.