log4cplus  2.1.0
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
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. More...
 
- 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. More...
 
bool isClosed () const
 Check if this appender is in closed state. More...
 
void syncDoAppend (const log4cplus::spi::InternalLoggingEvent &event)
 This method performs threshold checks and invokes filters before delegating actual logging to the subclasses specific {} method. More...
 
void asyncDoAppend (const log4cplus::spi::InternalLoggingEvent &event)
 This method performs book keeping related to asynchronous logging and executes syncDoAppend() to do the actual logging. More...
 
void doAppend (const log4cplus::spi::InternalLoggingEvent &event)
 This function checks async flag. More...
 
virtual log4cplus::tstring getName ()
 Get the name of this appender. More...
 
virtual void setName (const log4cplus::tstring &name)
 Set the name of this appender. More...
 
virtual void setErrorHandler (std::unique_ptr< ErrorHandler > eh)
 Set the ErrorHandler for this Appender. More...
 
virtual ErrorHandlergetErrorHandler ()
 Return the currently set ErrorHandler for this Appender. More...
 
virtual void setLayout (std::unique_ptr< Layout > layout)
 Set the layout for this appender. More...
 
virtual LayoutgetLayout ()
 Returns the layout of this appender. More...
 
void setFilter (log4cplus::spi::FilterPtr f)
 Set the filter chain on this Appender. More...
 
log4cplus::spi::FilterPtr getFilter () const
 Get the filter chain on this Appender. More...
 
void addFilter (log4cplus::spi::FilterPtr f)
 Add filter at the end of the filters chain. More...
 
void addFilter (std::function< spi::FilterResult(const log4cplus::spi::InternalLoggingEvent &)>)
 Add filter at the end of the filters chain. More...
 
LogLevel getThreshold () const
 Returns this appenders threshold LogLevel. More...
 
void setThreshold (LogLevel th)
 Set the threshold LogLevel. More...
 
bool isAsSevereAsThreshold (LogLevel ll) const
 Check whether the message LogLevel is below the appender's threshold. More...
 
void waitToFinishAsyncLogging ()
 This method waits for all events that are being asynchronously logged to finish. More...
 
- 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 ()
 This mutex is used by ConsoleAppender and helpers::LogLog classes to synchronize output to console. More...
 

Protected Member Functions

virtual void append (const spi::InternalLoggingEvent &event)
 Subclasses of Appender should implement this method to perform actual logging. More...
 
- Protected Member Functions inherited from log4cplus::Appender
tstringformatEvent (const log4cplus::spi::InternalLoggingEvent &event) const
 
- Protected Member Functions inherited from log4cplus::helpers::SharedObject
 SharedObject ()
 
 SharedObject (const SharedObject &)
 
 SharedObject (SharedObject &&)
 
virtual ~SharedObject ()
 
SharedObjectoperator= (const SharedObject &) LOG4CPLUS_NOEXCEPT
 
SharedObjectoperator= (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. More...
 
std::unique_ptr< std::locale > locale
 
- Protected Attributes inherited from log4cplus::Appender
std::unique_ptr< Layoutlayout
 The layout variable does not need to be set if the appender implementation has its own layout. More...
 
log4cplus::tstring name
 Appenders are named. More...
 
LogLevel threshold
 There is no LogLevel threshold filtering by default. More...
 
log4cplus::spi::FilterPtr filter
 The first filter in the filter chain. More...
 
std::unique_ptr< ErrorHandlererrorHandler
 It is assumed and enforced that errorHandler is never null. More...
 
std::unique_ptr< helpers::LockFilelockFile
 Optional system wide synchronization lock. More...
 
bool useLockFile
 Use lock file for inter-process synchronization of access to log file. More...
 
bool async
 Asynchronous append. More...
 
std::atomic< std::size_t > in_flight
 
std::mutex in_flight_mutex
 
std::condition_variable in_flight_condition
 
bool closed
 Is this appender closed? More...
 

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 
)

◆ 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)
protectedvirtual

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()

static 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.

◆ 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.


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