WriterAppender appends log events to a standard output stream. More...
Inherits log4cxx::AppenderSkeleton.
Inherited by ConsoleAppender, and FileAppender.
Classes | |
class | ClazzWriterAppender |
Public Member Functions | |
virtual const helpers::Class & | getClass () const |
const void * | cast (const helpers::Class &clazz) const |
bool | instanceof (const helpers::Class &clazz) const |
WriterAppender () | |
This default constructor does nothing. | |
~WriterAppender () | |
virtual void | activateOptions (log4cxx::helpers::Pool &pool) |
Derived appenders should override this method if option structure requires it. | |
void | setImmediateFlush (bool value) |
If the ImmediateFlush option is set to true , the appender will flush at the end of each write. | |
bool | getImmediateFlush () const |
Returns value of the ImmediateFlush option. | |
virtual void | append (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &p) |
This method is called by the AppenderSkeleton::doAppend method. | |
virtual void | close () |
Close this appender instance. | |
LogString | getEncoding () const |
void | setEncoding (const LogString &value) |
void | setOption (const LogString &option, const LogString &value) |
void | setWriter (const log4cxx::helpers::WriterPtr &writer) |
virtual bool | requiresLayout () const |
Static Public Member Functions | |
static const helpers::Class & | getStaticClass () |
static const log4cxx::helpers::ClassRegistration & | registerClass () |
Protected Member Functions | |
WriterAppender (const LayoutPtr &layout, log4cxx::helpers::WriterPtr &writer) | |
WriterAppender (const LayoutPtr &layout) | |
virtual bool | checkEntryConditions () const |
This method determines if there is a sense in attempting to append. | |
void | closeWriter () |
Close the underlying log4cxx::helpers::Writer. | |
virtual log4cxx::helpers::WriterPtr | createWriter (log4cxx::helpers::OutputStreamPtr &os) |
Returns an OutputStreamWriter when passed an OutputStream. | |
virtual void | subAppend (const spi::LoggingEventPtr &event, log4cxx::helpers::Pool &p) |
Actual writing occurs here. | |
virtual void | writeFooter (log4cxx::helpers::Pool &p) |
Write a footer as produced by the embedded layout's Layout::appendFooter method. | |
virtual void | writeHeader (log4cxx::helpers::Pool &p) |
Write a header as produced by the embedded layout's Layout::appendHeader method. |
WriterAppender appends log events to a standard output stream.
WriterAppender | ( | ) |
This default constructor does nothing.
WriterAppender | ( | const LayoutPtr & | layout, | |
log4cxx::helpers::WriterPtr & | writer | |||
) | [protected] |
WriterAppender | ( | const LayoutPtr & | layout | ) | [protected] |
~WriterAppender | ( | ) |
virtual void activateOptions | ( | log4cxx::helpers::Pool & | pool | ) | [virtual] |
Derived appenders should override this method if option structure requires it.
Reimplemented from AppenderSkeleton.
Reimplemented in ConsoleAppender, DailyRollingFileAppender, FileAppender, RollingFileAppenderSkeleton, and RollingFileAppender.
virtual void append | ( | const spi::LoggingEventPtr & | event, | |
log4cxx::helpers::Pool & | p | |||
) | [virtual] |
This method is called by the AppenderSkeleton::doAppend method.
If the output stream exists and is writable then write a log statement to the output stream. Otherwise, write a single warning message to stderr
.
The format of the output will depend on this appender's layout.
Implements AppenderSkeleton.
const void* cast | ( | const helpers::Class & | clazz | ) | const [inline, virtual] |
Implements Object.
Reimplemented in RollingFileAppenderSkeleton, and RollingFileAppender.
virtual bool checkEntryConditions | ( | ) | const [protected, virtual] |
This method determines if there is a sense in attempting to append.
It checks whether there is a set output target and also if there is a set layout. If these checks fail, then the boolean value false
is returned.
virtual void close | ( | ) | [virtual] |
Close this appender instance.
The underlying stream or writer is also closed.
Closed appenders cannot be reused.
Reimplemented in RollingFileAppenderSkeleton.
void closeWriter | ( | ) | [protected] |
Close the underlying log4cxx::helpers::Writer.
virtual log4cxx::helpers::WriterPtr createWriter | ( | log4cxx::helpers::OutputStreamPtr & | os | ) | [protected, virtual] |
Returns an OutputStreamWriter when passed an OutputStream.
The encoding used will depend on the value of the encoding
property. If the encoding value is specified incorrectly the writer will be opened using the default system encoding (an error message will be printed to the loglog.
Reimplemented in RollingFileAppenderSkeleton.
virtual const helpers::Class& getClass | ( | ) | const [virtual] |
Reimplemented from Object.
Reimplemented in RollingFileAppenderSkeleton, and RollingFileAppender.
LogString getEncoding | ( | ) | const |
bool getImmediateFlush | ( | ) | const [inline] |
Returns value of the ImmediateFlush option.
static const helpers::Class& getStaticClass | ( | ) | [static] |
Reimplemented from Object.
Reimplemented in RollingFileAppenderSkeleton, and RollingFileAppender.
bool instanceof | ( | const helpers::Class & | clazz | ) | const [inline, virtual] |
Implements Object.
Reimplemented in RollingFileAppenderSkeleton, and RollingFileAppender.
static const log4cxx::helpers::ClassRegistration& registerClass | ( | ) | [static] |
Reimplemented from Object.
Reimplemented in RollingFileAppenderSkeleton, and RollingFileAppender.
virtual bool requiresLayout | ( | ) | const [virtual] |
void setEncoding | ( | const LogString & | value | ) |
void setImmediateFlush | ( | bool | value | ) |
If the ImmediateFlush option is set to true
, the appender will flush at the end of each write.
This is the default behavior. If the option is set to false
, then the underlying stream can defer writing to physical medium to a later time.
Avoiding the flush operation at the end of each append results in a performance gain of 10 to 20 percent. However, there is safety tradeoff involved in skipping flushing. Indeed, when flushing is skipped, then it is likely that the last few log events will not be recorded on disk when the application exits. This is a high price to pay even for a 20% performance gain.
Reimplemented from AppenderSkeleton.
Reimplemented in ConsoleAppender, DailyRollingFileAppender, FileAppender, and RollingFileAppender.
void setWriter | ( | const log4cxx::helpers::WriterPtr & | writer | ) |
Sets the Writer where the log output will go. The specified Writer must be opened by the user and be writable.
The java.io.Writer
will be closed when the appender instance is closed.
WARNING: Logging to an unopened Writer will fail.
writer | An already opened Writer. |
virtual void subAppend | ( | const spi::LoggingEventPtr & | event, | |
log4cxx::helpers::Pool & | p | |||
) | [protected, virtual] |
Actual writing occurs here.
Reimplemented in RollingFileAppenderSkeleton.
virtual void writeFooter | ( | log4cxx::helpers::Pool & | p | ) | [protected, virtual] |
Write a footer as produced by the embedded layout's Layout::appendFooter method.
virtual void writeHeader | ( | log4cxx::helpers::Pool & | p | ) | [protected, virtual] |
Write a header as produced by the embedded layout's Layout::appendHeader method.