org.apache.logging.log4j.core.appender
Class AbstractOutputStreamAppender

java.lang.Object
  extended by org.apache.logging.log4j.core.filter.AbstractFilterable
      extended by org.apache.logging.log4j.core.appender.AbstractAppender
          extended by org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender
All Implemented Interfaces:
Appender, Filterable, LifeCycle
Direct Known Subclasses:
ConsoleAppender, FileAppender, RollingFileAppender, SocketAppender

public abstract class AbstractOutputStreamAppender
extends AbstractAppender

Appends log events as bytes to a byte output stream. The stream encoding is defined in the layout.


Field Summary
protected  boolean immediateFlush
          Immediate flush means that the underlying writer or output stream will be flushed at the end of each append operation.
 
Fields inherited from class org.apache.logging.log4j.core.appender.AbstractAppender
LOGGER
 
Constructor Summary
protected AbstractOutputStreamAppender(String name, Layout layout, Filter filter, boolean handleException, boolean immediateFlush, OutputStreamManager manager)
          Instantiate a WriterAppender and set the output destination to a new OutputStreamWriter initialized with os as its OutputStream.
 
Method Summary
 void append(LogEvent event)
          Actual writing occurs here.
protected  OutputStreamManager getManager()
           
protected  void replaceManager(OutputStreamManager newManager)
           
 void start()
          Start the Appender.
 void stop()
          Stop the Appender.
 
Methods inherited from class org.apache.logging.log4j.core.appender.AbstractAppender
close, error, error, error, getHandler, getLayout, getName, isExceptionSuppressed, isStarted, setHandler, toString
 
Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilterable
addFilter, getFilter, hasFilter, isFiltered, removeFilter, startFilter, stopFilter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

immediateFlush

protected final boolean immediateFlush
Immediate flush means that the underlying writer or output stream will be flushed at the end of each append operation. Immediate flush is slower but ensures that each append request is actually written. If immediateFlush is set to false, then there is a good chance that the last few logs events are not actually written to persistent media if and when the application crashes.

Constructor Detail

AbstractOutputStreamAppender

protected AbstractOutputStreamAppender(String name,
                                       Layout layout,
                                       Filter filter,
                                       boolean handleException,
                                       boolean immediateFlush,
                                       OutputStreamManager manager)
Instantiate a WriterAppender and set the output destination to a new OutputStreamWriter initialized with os as its OutputStream.

Parameters:
name - The name of the Appender.
layout - The layout to format the message.
manager - The OutputStreamManager.
Method Detail

getManager

protected OutputStreamManager getManager()

replaceManager

protected void replaceManager(OutputStreamManager newManager)

start

public void start()
Description copied from class: AbstractAppender
Start the Appender.

Specified by:
start in interface LifeCycle
Overrides:
start in class AbstractAppender

stop

public void stop()
Description copied from class: AbstractAppender
Stop the Appender.

Specified by:
stop in interface LifeCycle
Overrides:
stop in class AbstractAppender

append

public void append(LogEvent event)
Actual writing occurs here.

Most subclasses of AbstractOutputStreamAppender will need to override this method.

Parameters:
event - The LogEvent.


Copyright © 1999-2012 Apache Software Foundation. All Rights Reserved. Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.