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

java.lang.Object
  extended by org.apache.logging.log4j.core.filter.Filterable
      extended by org.apache.logging.log4j.core.appender.AppenderBase
          extended by org.apache.logging.log4j.core.appender.OutputStreamAppender
All Implemented Interfaces:
Appender, Filtering, Lifecycle
Direct Known Subclasses:
ConsoleAppender, FileAppender, RollingFileAppender, SocketAppender

public abstract class OutputStreamAppender
extends AppenderBase

Writes the byte output stream. The stream will already have been encoded.


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.AppenderBase
LOGGER
 
Constructor Summary
protected OutputStreamAppender(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.AppenderBase
close, error, error, error, getHandler, getLayout, getName, isExceptionSuppressed, isStarted, setHandler, toString
 
Methods inherited from class org.apache.logging.log4j.core.filter.Filterable
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 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.

The immediateFlush variable is set to true by default.

Constructor Detail

OutputStreamAppender

protected OutputStreamAppender(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: AppenderBase
Start the Appender.

Specified by:
start in interface Lifecycle
Overrides:
start in class AppenderBase

stop

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

Specified by:
stop in interface Lifecycle
Overrides:
stop in class AppenderBase

append

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

Most subclasses of OutputStreamAppender will need to override this method.

Parameters:
event - The LogEvent.


Copyright © 1999-2012 Apache Software Foundation. All Rights Reserved.