LogOutputStream (Apache Ant API)
Description: declaration: package: org.apache.tools.ant.taskdefs, class: LogOutputStream

# Class LogOutputStream

java.lang.Object
java.io.OutputStream
org.apache.tools.ant.util.LineOrientedOutputStream
org.apache.tools.ant.taskdefs.LogOutputStream

All Implemented Interfaces:
  `Closeable, Flushable, AutoCloseable`

Direct Known Subclasses:
  `JUnitTask.JUnitLogOutputStream`

public class LogOutputStream extends LineOrientedOutputStream
Logs each line written to this stream to the log system of ant.

Tries to be smart about line separators.

Since:
  Ant 1.2

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `LogOutputStream(ProjectComponent pc)`
  Create a new LogOutputStream for the specified ProjectComponent.
  `LogOutputStream(ProjectComponent pc, int level)`
  Creates a new instance of this class.
  `LogOutputStream(Task task, int level)`
  Creates a new instance of this class.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getMessageLevel()`
  Get the level.
  `protected void`
  `processBuffer()`
  Converts the buffer to a string and sends it to `processLine`
  `protected void`
  `processLine(String line)`
  Logs a line to the log system of ant.
  `protected void`
  `processLine(String line, int level)`
  Logs a line to the log system of ant.

  ### Methods inherited from class LineOrientedOutputStream

  `close, flush, processLine, write, write`
  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Writes all remaining
  `void`
  `flush()`
  Flush this log stream
  `protected void`
  `processLine(byte[] line)`
  Processes a line.
  `final void`
  `write(byte[] b, int off, int len)`
  Write a block of characters to the output stream
  `final void`
  `write(int cc)`
  Write the data to the buffer and flush the buffer, if a line separator is detected.

  ### Methods inherited from class OutputStream

  `nullOutputStream, write`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### LogOutputStream

    public LogOutputStream(ProjectComponent pc)
    Create a new LogOutputStream for the specified ProjectComponent.
    Parameters:
      `pc` - the project component for whom to log
    Since:
      Ant 1.7.1

  - ### 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.

  - ### LogOutputStream

    public LogOutputStream(ProjectComponent pc, int level)
    Creates a new instance of this class.
    Parameters:
      `pc` - the project component for whom to log
      `level` - loglevel used to log data written to this stream.
    Since:
      Ant 1.6.3

- ## Method Details

  - ### processBuffer

    protected void processBuffer()
    Converts the buffer to a string and sends it to `processLine`
    Overrides:
      `processBuffer` in class `LineOrientedOutputStream`

  - ### processLine

    protected void processLine(String line)
    Logs a line to the log system of ant.
    Specified by:
      `processLine` in class `LineOrientedOutputStream`
    Parameters:
      `line` - the line to log.

  - ### processLine

    protected void processLine(String line, int level)
    Logs a line to the log system of ant.
    Parameters:
      `line` - the line to log.
      `level` - the logging level to use.

  - ### getMessageLevel

    public int getMessageLevel()
    Get the level.
    Returns:
      the log level.