Package org.apache.tools.ant.taskdefs

## Class LogOutputStream

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

- All Implemented Interfaces:
    `java.io.Closeable`, `java.io.Flushable`, `java.lang.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

    All Methods Instance Methods Concrete Methods
    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​(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.

    - ### Methods inherited from class org.apache.tools.ant.util.LineOrientedOutputStream

      `close, flush, processLine, write, write`

    - ### Methods inherited from class java.io.OutputStream

      `nullOutputStream, write`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

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

    - #### processBuffer

          protected void processBuffer()

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

    - #### processLine

          protected void processLine​(java.lang.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​(java.lang.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.