Package org.apache.commons.exec
Class LogOutputStream
java.lang.Object
java.io.OutputStream
org.apache.commons.exec.LogOutputStream
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
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
ConstructorDescriptionCreates a new instance of this class.LogOutputStream
(int level) Creates a new instance of this class.LogOutputStream
(int level, Charset charset) Creates a new instance of this class, specifying the character set that should be used for outputting the string for each line -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Writes all remaining data from the buffer.void
flush()
Flushes this log stream.int
Gets the trace level of the log system.protected void
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) Writes a block of characters to the output stream.void
write
(int cc) Writes the data to the buffer and flush the buffer, if a line separator is detected.Methods inherited from class java.io.OutputStream
write
-
Constructor Details
-
LogOutputStream
public LogOutputStream()Creates a new instance of this class. Uses the default level of 999. -
LogOutputStream
Creates a new instance of this class.- Parameters:
level
- level used to log data written to this stream.
-
LogOutputStream
Creates a new instance of this class, specifying the character set that should be used for outputting the string for each line- Parameters:
level
- level used to log data written to this stream.charset
- Character Set to use when processing lines.
-
-
Method Details
-
close
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:
-
flush
Flushes this log stream.- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classOutputStream
- See Also:
-
getMessageLevel
Gets the trace level of the log system.- Returns:
- the trace level of the log system.
-
processBuffer
Converts the buffer to a string and sends it toprocessLine
. -
processLine
Logs a line to the log system of the user.- Parameters:
line
- the line to log.
-
processLine
Logs a line to the log system of the user.- Parameters:
line
- the line to log.logLevel
- the log level to use
-
write
Writes a block of characters to the output stream.- Overrides:
write
in classOutputStream
- 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:
-
write
Writes 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:
-