Package org.apache.commons.exec
Class LogOutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.apache.commons.exec.LogOutputStream
-
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
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.- Version:
- $Id: LogOutputStream.java 1636056 2014-11-01 21:12:52Z ggregory $
-
-
Constructor Summary
Constructors Constructor Description LogOutputStream()
Creates a new instance of this class.LogOutputStream(int level)
Creates a new instance of this class.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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 toprocessLine
.protected void
processLine(String line)
Logs a line to the log system of the user.protected abstract void
processLine(String line, int logLevel)
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 streamvoid
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
nullOutputStream, write
-
-
-
-
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 classOutputStream
- 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 interfaceFlushable
- Overrides:
flush
in classOutputStream
- See Also:
OutputStream.flush()
-
close
public void close() throws IOException
Writes all remaining data from the buffer.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classOutputStream
- 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 classOutputStream
- Parameters:
b
- the array containing the dataoff
- the offset into the array where data startslen
- 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 toprocessLine
.
-
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 logLevel)
Logs a line to the log system of the user.- Parameters:
line
- the line to log.logLevel
- the log level to use
-
-