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
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.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.OutputStream
public 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.OutputStream
b
- 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.Flushable
flush
in class java.io.OutputStream
Copyright © 2001-2017 Jalios SA. All Rights Reserved.