org.apache.commons.exec
Class LogOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by org.apache.commons.exec.LogOutputStream
All Implemented Interfaces:
Closeable, Flushable

public abstract class LogOutputStream
extends OutputStream

Base class to connect a logging system to the output and/or error stream of then external process. The implementation parses the incoming data to construct a line and passes the complete line to an user-defined implementation.


Constructor Summary
LogOutputStream()
          Creates a new instance of this class.
LogOutputStream(int level)
          Creates a new instance of this class.
 
Method Summary
 void close()
          Writes all remaining data from the buffer.
 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(String line)
          Logs a line to the log system of the user.
protected abstract  void processLine(String line, int level)
          Logs a line to the log system of the user.
 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()
Creates a new instance of this class. Uses the default level of 999.


LogOutputStream

public LogOutputStream(int level)
Creates a new instance of this class.

Parameters:
level - loglevel used to log data written to this stream.
Method Detail

write

public void write(int cc)
           throws IOException
Write the data to the buffer and flush the buffer, if a line separator is detected.

Specified by:
write in class OutputStream
Parameters:
cc - data to log (byte).
Throws:
IOException
See Also:
OutputStream.write(int)

flush

public void flush()
Flush this log stream.

Specified by:
flush in interface Flushable
Overrides:
flush in class OutputStream
See Also:
OutputStream.flush()

close

public void close()
           throws IOException
Writes all remaining data from the buffer.

Specified by:
close in interface Closeable
Overrides:
close in class OutputStream
Throws:
IOException
See Also:
OutputStream.close()

getMessageLevel

public int getMessageLevel()
Returns:
the trace level of the log system

write

public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
Write a block of characters to the output stream

Overrides:
write in class OutputStream
Parameters:
b - the array containing the data
off - the offset into the array where data starts
len - the length of block
Throws:
IOException - if the data cannot be written into the stream.
See Also:
OutputStream.write(byte[], int, int)

processBuffer

protected void processBuffer()
Converts the buffer to a string and sends it to processLine.


processLine

protected void processLine(String line)
Logs a line to the log system of the user.

Parameters:
line - the line to log.

processLine

protected abstract void processLine(String line,
                                    int level)
Logs a line to the log system of the user.

Parameters:
line - the line to log.
level - the log level to use


Copyright © 2011 Apache Software Foundation. All Rights Reserved.