java.lang.Object
ch.qos.logback.core.spi.ContextAwareBase
ch.qos.logback.core.UnsynchronizedAppenderBase<E>
ch.qos.logback.core.OutputStreamAppender<E>
- All Implemented Interfaces:
Appender<E>
,ContextAware
,FilterAttachable<E>
,LifeCycle
- Direct Known Subclasses:
ConsoleAppender
,FileAppender
OutputStreamAppender appends events to a
OutputStream
. This class
provides basic services that other appenders build upon.
For more information about this appender, please refer to the online manual
at http://logback.qos.ch/manual/appenders.html#OutputStreamAppender- Author:
- Ceki Gülcü
-
Field Summary
Modifier and TypeFieldDescriptionIt is the encoder which is ultimately responsible for writing the event to anOutputStream
.protected final ReentrantLock
All synchronization in this class is done via the lock object.Fields inherited from class ch.qos.logback.core.UnsynchronizedAppenderBase
name, started
Fields inherited from class ch.qos.logback.core.spi.ContextAwareBase
context
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected void
Close the underlyingOutputStream
.The underlying output stream used by this appender.boolean
void
setEncoder
(Encoder<E> encoder) void
setImmediateFlush
(boolean immediateFlush) void
void
setOutputStream
(OutputStream outputStream) Sets the @link OutputStream} where the log output will go.void
start()
Checks that requires parameters are set and if everything is in order, activates this appender.void
stop()
Stop this appender instance.protected void
Actual writing occurs here.protected final void
writeByteArrayToOutputStreamWithPossibleFlush
(byte[] byteArray) A simple method to write to an outputStream and flush the stream if immediateFlush is set to true.protected void
Methods inherited from class ch.qos.logback.core.UnsynchronizedAppenderBase
addFilter, clearAllFilters, doAppend, getCopyOfAttachedFiltersList, getFilterChainDecision, getName, isStarted, setName, toString
Methods inherited from class ch.qos.logback.core.spi.ContextAwareBase
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContext
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface ch.qos.logback.core.spi.ContextAware
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, setContext
-
Field Details
-
encoder
It is the encoder which is ultimately responsible for writing the event to anOutputStream
. -
streamWriteLock
All synchronization in this class is done via the lock object.
-
-
Constructor Details
-
OutputStreamAppender
public OutputStreamAppender()
-
-
Method Details
-
getOutputStream
The underlying output stream used by this appender.- Returns:
-
start
Checks that requires parameters are set and if everything is in order, activates this appender.- Specified by:
start
in interfaceLifeCycle
- Overrides:
start
in classUnsynchronizedAppenderBase<E>
-
setLayout
-
append
- Specified by:
append
in classUnsynchronizedAppenderBase<E>
-
stop
Stop this appender instance. The underlying stream or writer is also closed.Stopped appenders cannot be reused.
- Specified by:
stop
in interfaceLifeCycle
- Overrides:
stop
in classUnsynchronizedAppenderBase<E>
-
closeOutputStream
Close the underlyingOutputStream
. -
setOutputStream
Sets the @link OutputStream} where the log output will go. The specified
OutputStream
must be opened by the user and be writable. TheOutputStream
will be closed when the appender instance is closed.- Parameters:
outputStream
- An already opened OutputStream.
-
writeOut
- Throws:
IOException
-
writeByteArrayToOutputStreamWithPossibleFlush
protected final void writeByteArrayToOutputStreamWithPossibleFlush(byte[] byteArray) throws IOException A simple method to write to an outputStream and flush the stream if immediateFlush is set to true.- Throws:
IOException
- Since:
- 1.3.9/1.4.9
-
subAppend
Actual writing occurs here.Most subclasses of
WriterAppender
will need to override this method.- Since:
- 0.9.0
-
getEncoder
-
setEncoder
-
isImmediateFlush
-
setImmediateFlush
-