public class Log4jOutputStream
extends java.io.OutputStream
Note that no data is written out to the Category until the stream is flushed or closed.
Example:// make sure everything sent to System.err is logged System.setErr(new PrintStream(new Log4jOutputStream(Category.getRoot(), Priority.WARN), true)); // make sure everything sent to System.out is also logged System.setOut(new PrintStream(new Log4jOutputStream(Category.getRoot(), Priority.INFO), true));
Category| Modifier and Type | Field and Description |
|---|---|
protected byte[] |
buf
The internal buffer where data is stored.
|
protected int |
count
The number of valid bytes in the buffer.
|
static int |
DEFAULT_BUFFER_LENGTH
The default number of bytes in the buffer.
|
protected boolean |
hasBeenClosed
Used to maintain the contract of #close()}.
|
protected org.apache.log4j.Level |
level
The priority to use when writing to the Category.
|
protected org.apache.log4j.Logger |
logger
The category to write to.
|
| Constructor and Description |
|---|
Log4jOutputStream(org.apache.log4j.Logger log,
org.apache.log4j.Level level)
Creates the Log4jOutputStream to flush to the given Category.
|
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes this output stream and releases any system resources
associated with this stream.
|
void |
flush()
Flushes this output stream and forces any buffered output bytes
to be written out.
|
void |
write(int b)
Writes the specified byte to this output stream.
|
protected boolean hasBeenClosed
protected byte[] buf
protected int count
0 through buf.length; elements
buf[0] through buf[count-1] contain valid
byte data.public static final int DEFAULT_BUFFER_LENGTH
protected org.apache.log4j.Logger logger
protected org.apache.log4j.Level level
public Log4jOutputStream(org.apache.log4j.Logger log,
org.apache.log4j.Level level)
throws java.lang.IllegalArgumentException
log - the Logger to write tolevel - the Level to use when writing to the Loggerjava.lang.IllegalArgumentException - if cat == null or priority ==
nullpublic void close()
close
is that it closes the output stream. A closed stream cannot
perform
output operations and cannot be reopened.close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.OutputStreampublic void write(int b)
throws java.io.IOException
write is that one byte is written
to the output stream. The byte to be written is the eight
low-order bits of the argument b. The 24
high-order bits of b are ignored.write in class java.io.OutputStreamb - the byte to writejava.io.IOException - if an I/O error occurs. In particular,
an IOException may be thrown if
the
output stream has been closed.public void flush()
flush is
that calling it is an indication that, if any bytes previously
written have been buffered by the implementation of the output
stream, such bytes should immediately be written to their
intended destination.flush in interface java.io.Flushableflush in class java.io.OutputStreamCopyright © 2001-2019 Jalios SA. All Rights Reserved.