Package ch.qos.logback.core
Class OutputStreamAppender<E>
- 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
public class OutputStreamAppender<E> extends UnsynchronizedAppenderBase<E>
OutputStreamAppender appends events to aOutputStream. 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
Fields Modifier and Type Field Description protected Encoder<E>encoderIt is the encoder which is ultimately responsible for writing the event to anOutputStream.protected java.util.concurrent.locks.ReentrantLocklockAll 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
Constructors Constructor Description OutputStreamAppender()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidappend(E eventObject)protected voidcloseOutputStream()Close the underlyingOutputStream.Encoder<E>getEncoder()java.io.OutputStreamgetOutputStream()The underlying output stream used by this appender.booleanisImmediateFlush()voidsetEncoder(Encoder<E> encoder)voidsetImmediateFlush(boolean immediateFlush)voidsetLayout(Layout<E> layout)voidsetOutputStream(java.io.OutputStream outputStream)Sets the @link OutputStream} where the log output will go.voidstart()Checks that requires parameters are set and if everything is in order, activates this appender.voidstop()Stop this appender instance.protected voidsubAppend(E event)Actual writing occurs here.protected voidwriteOut(E event)-
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
-
-
-
-
Method Detail
-
getOutputStream
public java.io.OutputStream getOutputStream()
The underlying output stream used by this appender.- Returns:
-
start
public void start()
Checks that requires parameters are set and if everything is in order, activates this appender.- Specified by:
startin interfaceLifeCycle- Overrides:
startin classUnsynchronizedAppenderBase<E>
-
append
protected void append(E eventObject)
- Specified by:
appendin classUnsynchronizedAppenderBase<E>
-
stop
public void stop()
Stop this appender instance. The underlying stream or writer is also closed.Stopped appenders cannot be reused.
- Specified by:
stopin interfaceLifeCycle- Overrides:
stopin classUnsynchronizedAppenderBase<E>
-
closeOutputStream
protected void closeOutputStream()
Close the underlyingOutputStream.
-
setOutputStream
public void setOutputStream(java.io.OutputStream outputStream)
Sets the @link OutputStream} where the log output will go. The specified
OutputStreammust be opened by the user and be writable. TheOutputStreamwill be closed when the appender instance is closed.- Parameters:
outputStream- An already opened OutputStream.
-
writeOut
protected void writeOut(E event) throws java.io.IOException
- Throws:
java.io.IOException
-
subAppend
protected void subAppend(E event)
Actual writing occurs here.Most subclasses of
WriterAppenderwill need to override this method.- Since:
- 0.9.0
-
isImmediateFlush
public boolean isImmediateFlush()
-
setImmediateFlush
public void setImmediateFlush(boolean immediateFlush)
-
-