log4cplus::ConsoleAppender Class Reference

ConsoleAppender appends log events to `std::cout` or `std::cerr` using a layout specified by the user. More...

`#include <consoleappender.h>`

Inheritance diagram for log4cplus::ConsoleAppender:
[legend]
Collaboration diagram for log4cplus::ConsoleAppender:
[legend]

## Public Member Functions

| ConsoleAppender (bool logToStdErr=false, bool immediateFlush=false)
| ConsoleAppender (const log4cplus::helpers::Properties &properties)
| ~ConsoleAppender ()
virtual void | close ()
| Release any resources allocated within the appender such as file handles, network connections, etc.
Public Member Functions inherited from log4cplus::Appender
| Appender ()
| Appender (const log4cplus::helpers::Properties &properties)
virtual | ~Appender ()
void | destructorImpl ()
| This function is for derived appenders to call from their destructors.
bool | isClosed () const
| Check if this appender is in closed state.
void | syncDoAppend (const log4cplus::spi::InternalLoggingEvent &event)
| This method performs threshold checks and invokes filters before delegating actual logging to the subclasses specific `append` method.
void | asyncDoAppend (const log4cplus::spi::InternalLoggingEvent &event)
| This method performs book keeping related to asynchronous logging and executes syncDoAppend() to do the actual logging.
void | doAppend (const log4cplus::spi::InternalLoggingEvent &event)
| This function checks async flag.
virtual log4cplus::tstring | getName ()
| Get the name of this appender.
virtual void | setName (const log4cplus::tstring &name)
| Set the name of this appender.
virtual void | setErrorHandler (std::unique_ptr< ErrorHandler > eh)
| Set the `ErrorHandler` for this Appender.
virtual ErrorHandler * | getErrorHandler ()
| Return the currently set `ErrorHandler` for this Appender.
virtual void | setLayout (std::unique_ptr< Layout > layout)
| Set the layout for this appender.
virtual Layout * | getLayout ()
| Returns the layout of this appender.
void | setFilter (log4cplus::spi::FilterPtr f)
| Set the filter chain on this Appender.
log4cplus::spi::FilterPtr | getFilter () const
| Get the filter chain on this Appender.
void | addFilter (log4cplus::spi::FilterPtr f)
| Add filter at the end of the filters chain.
void | addFilter (std::function< spi::FilterResult(const log4cplus::spi::InternalLoggingEvent &)>)
| Add filter at the end of the filters chain.
LogLevel | getThreshold () const
| Returns this appenders threshold LogLevel.
void | setThreshold (LogLevel th)
| Set the threshold LogLevel.
bool | isAsSevereAsThreshold (LogLevel ll) const
| Check whether the message LogLevel is below the appender's threshold.
void | waitToFinishAsyncLogging ()
| This method waits for all events that are being asynchronously logged to finish.
Public Member Functions inherited from log4cplus::helpers::SharedObject
void | addReference () const LOG4CPLUS_NOEXCEPT
void | removeReference () const

## Static Public Member Functions

static log4cplus::thread::Mutex const & | getOutputMutex ()

## Protected Member Functions

virtual void | append (const spi::InternalLoggingEvent &event)
| Subclasses of `Appender` should implement this method to perform actual logging.
Protected Member Functions inherited from log4cplus::Appender
tstring & | formatEvent (const log4cplus::spi::InternalLoggingEvent &event) const
Protected Member Functions inherited from log4cplus::helpers::SharedObject
| SharedObject ()
| SharedObject (const SharedObject &)
| SharedObject (SharedObject &&)
virtual | ~SharedObject ()
SharedObject & | operator= (const SharedObject &) LOG4CPLUS_NOEXCEPT
SharedObject & | operator= (SharedObject &&) LOG4CPLUS_NOEXCEPT

## Protected Attributes

bool | logToStdErr
bool | immediateFlush
| Immediate flush means that the underlying output stream will be flushed at the end of each append operation.
std::unique_ptr< std::locale > | locale
Protected Attributes inherited from log4cplus::Appender
std::unique_ptr< Layout > | layout
| The layout variable does not need to be set if the appender implementation has its own layout.
log4cplus::tstring | name
| Appenders are named.
LogLevel | threshold
| There is no LogLevel threshold filtering by default.
log4cplus::spi::FilterPtr | filter
| The first filter in the filter chain.
std::unique_ptr< ErrorHandler > | errorHandler
| It is assumed and enforced that errorHandler is never null.
std::unique_ptr< helpers::LockFile > | lockFile
| Optional system wide synchronization lock.
bool | useLockFile
bool | async
| Asynchronous append.
std::atomic< std::size_t > | in_flight
std::mutex | in_flight_mutex
std::condition_variable | in_flight_condition
bool | closed
| Is this appender closed?

## Additional Inherited Members

Public Attributes inherited from log4cplus::helpers::SharedObject
thread::Mutex | access_mutex

## Detailed Description

ConsoleAppender appends log events to `std::cout` or `std::cerr` using a layout specified by the user.

The default target is `std::cout`.

### Properties

logToStdErr

  When it is set true, the output stream will be `std::cerr` instead of `std::cout`.

ImmediateFlush

  When it is set true, output stream will be flushed after each appended event.

Locale

  This property specifies a locale name that will be imbued into output stream. Locale can be specified either by system specific locale name, e.g., en_US.UTF-8, or by one of four recognized keywords: GLOBAL, DEFAULT (which is an alias for GLOBAL), USER and CLASSIC. When specified locale is not available, GLOBAL is used instead. It is possible to register additional locale keywords by registering an instance of `spi::LocaleFactory` in `spi::LocaleFactoryRegistry`.

  See also
    spi::getLocaleFactoryRegistry().

  Note: if Locale is set, ImmediateFlush will be set to true automatically.

See also
  Appender

Definition at line 72 of file consoleappender.h.

## Constructor & Destructor Documentation

## ConsoleAppender() [1/2]

log4cplus::ConsoleAppender::ConsoleAppender | ( | bool | logToStdErr = false,
|  | bool | immediateFlush = false )

References immediateFlush, and logToStdErr.

## ConsoleAppender() [2/2]

log4cplus::ConsoleAppender::ConsoleAppender | ( | const log4cplus::helpers::Properties & | properties | ) |

## ~ConsoleAppender()

log4cplus::ConsoleAppender::~ConsoleAppender | ( |  | ) |

## Member Function Documentation

## append()

virtual void log4cplus::ConsoleAppender::append | ( | const spi::InternalLoggingEvent & | event | ) |

protected virtual

Subclasses of `Appender` should implement this method to perform actual logging.

See also
  doAppend method.

Implements log4cplus::Appender.

## close()

virtual void log4cplus::ConsoleAppender::close | ( |  | ) |

virtual

Release any resources allocated within the appender such as file handles, network connections, etc.

It is a programming error to append to a closed appender.

Implements log4cplus::Appender.

## getOutputMutex()

log4cplus::thread::Mutex const & log4cplus::ConsoleAppender::getOutputMutex | ( |  | ) |

static

This mutex is used by ConsoleAppender and helpers::LogLog classes to synchronize output to console.

## Member Data Documentation

## immediateFlush

bool log4cplus::ConsoleAppender::immediateFlush

protected

Immediate flush means that the underlying output stream will be flushed at the end of each append operation.

Definition at line 97 of file consoleappender.h.

Referenced by ConsoleAppender().

## locale

std::unique_ptr<std::locale> log4cplus::ConsoleAppender::locale

protected

Definition at line 99 of file consoleappender.h.

## logToStdErr

bool log4cplus::ConsoleAppender::logToStdErr

protected

Definition at line 92 of file consoleappender.h.

Referenced by ConsoleAppender().

The documentation for this class was generated from the following file:

- consoleappender.h