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 a user-defined implementation.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final LogOutputStream.ByteArrayOutputStreamXThe internal buffer.private final CharsetCharacter Set to use when processing lines.private static final intCarriage return.private static final intInitial buffer size.private final intLevel used to log data written to this stream.private static final intLine-feed.private booleanLast written char was a CR. -
Constructor Summary
ConstructorsConstructorDescriptionCreates 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 TypeMethodDescriptionvoidclose()Writes all remaining data from the buffer.voidflush()Flushes this log stream.intGets the trace level of the log system.protected voidConverts the buffer to a string and sends it toprocessLine.protected voidprocessLine(String line) Logs a line to the log system of the user.protected abstract voidprocessLine(String line, int logLevel) Logs a line to the log system of the user.voidwrite(byte[] b, int off, int len) Writes a block of characters to the output stream.voidwrite(int cc) Writes the data to the buffer and flush the buffer, if a line separator is detected.Methods inherited from class OutputStream
write
-
Field Details
-
INITIAL_SIZE
private static final int INITIAL_SIZEInitial buffer size.- See Also:
-
CR
private static final int CRCarriage return.- See Also:
-
LF
private static final int LFLine-feed.- See Also:
-
buffer
The internal buffer. -
skip
private boolean skipLast written char was a CR. -
level
private final int levelLevel used to log data written to this stream. -
charset
Character Set to use when processing lines.
-
-
Constructor Details
-
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- 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:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classOutputStream- Throws:
IOException- See Also:
-
flush
public void flush()Flushes this log stream.- Specified by:
flushin interfaceFlushable- Overrides:
flushin classOutputStream- See Also:
-
getMessageLevel
public int getMessageLevel()Gets the trace level of the log system.- Returns:
- the trace level of the log system.
-
processBuffer
protected void 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:
writein 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:
writein classOutputStream- Parameters:
cc- data to log (byte).- Throws:
IOException- See Also:
-