BLOCXX_NAMESPACE::AppenderLogger Class Reference

The AppenderLogger is a Logger that sends it's log messages to multiple LogAppender objects. More...

#include <AppenderLogger.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::AppenderLogger:

BLOCXX_NAMESPACE::Logger BLOCXX_NAMESPACE::IntrusiveCountableBase List of all members.

Public Member Functions

 AppenderLogger (const String &defaultComponent, ELogLevel level, const LogAppenderRef &appender)
 Create an AppenderLogger with one LogAppender.
 AppenderLogger (const String &defaultComponent, const Array< LogAppenderRef > &appenders)
 Create an AppenderLogger with multiple LogAppenders.
virtual ~AppenderLogger ()
 Destroy this AppenderLogger.
void addLogAppender (const LogAppenderRef &appender)

Private Member Functions

virtual void doProcessLogMessage (const LogMessage &message) const
 Output the message.
bool doComponentAndCategoryAreEnabled (const String &component, const String &category) const
 Return whether logging is enabled for the component and category.
bool doCategoryIsEnabled (const String &category) const
 Return whether logging is enabled for the category.
LoggerRef doClone () const
 Make a copy of the derived instance.

Static Private Member Functions

static ELogLevel getLevel (const Array< LogAppenderRef > &appenders)

Private Attributes

Array< LogAppenderRefm_appenders

Detailed Description

The AppenderLogger is a Logger that sends it's log messages to multiple LogAppender objects.

Definition at line 51 of file AppenderLogger.hpp.


Constructor & Destructor Documentation

BLOCXX_NAMESPACE::AppenderLogger::AppenderLogger const String defaultComponent,
ELogLevel  level,
const LogAppenderRef appender
 

Create an AppenderLogger with one LogAppender.

Parameters:
defaultComponent The default component for logging when not specified.
level The default log level when not specified.
appender The LogAppender messages will be send to.

Definition at line 50 of file AppenderLogger.cpp.

Referenced by doClone().

BLOCXX_NAMESPACE::AppenderLogger::AppenderLogger const String defaultComponent,
const Array< LogAppenderRef > &  appenders
 

Create an AppenderLogger with multiple LogAppenders.

The log level that will be used will be the lowest priority (i.e. debug) found in the given log apppenders.

Parameters:
defaultComponent The default component for logging when not specified.
appenders The LogAppenders the messages will be routed to.

Definition at line 60 of file AppenderLogger.cpp.

BLOCXX_NAMESPACE::AppenderLogger::~AppenderLogger  )  [virtual]
 

Destroy this AppenderLogger.

Definition at line 69 of file AppenderLogger.cpp.


Member Function Documentation

void BLOCXX_NAMESPACE::AppenderLogger::addLogAppender const LogAppenderRef appender  ) 
 

Definition at line 75 of file AppenderLogger.cpp.

References BLOCXX_NAMESPACE::Array< T >::append(), and m_appenders.

bool BLOCXX_NAMESPACE::AppenderLogger::doCategoryIsEnabled const String category  )  const [private, virtual]
 

Return whether logging is enabled for the category.

Default implementation always returns true.

Reimplemented from BLOCXX_NAMESPACE::Logger.

Definition at line 109 of file AppenderLogger.cpp.

References BLOCXX_NAMESPACE::Logger::categoryIsEnabled(), i, m_appenders, and BLOCXX_NAMESPACE::Array< T >::size().

LoggerRef BLOCXX_NAMESPACE::AppenderLogger::doClone  )  const [private, virtual]
 

Make a copy of the derived instance.

Provided the derived class has a suitable copy constructor, an implementation of clone should simply be: LoggerRef DerivedLogger::doClone() const { return LoggerRef(new DerivedLogger(*this)); }

Implements BLOCXX_NAMESPACE::Logger.

Definition at line 124 of file AppenderLogger.cpp.

References AppenderLogger().

bool BLOCXX_NAMESPACE::AppenderLogger::doComponentAndCategoryAreEnabled const String component,
const String category
const [private, virtual]
 

Return whether logging is enabled for the component and category.

Default implementation always returns true.

Reimplemented from BLOCXX_NAMESPACE::Logger.

Definition at line 93 of file AppenderLogger.cpp.

References BLOCXX_NAMESPACE::Logger::componentAndCategoryAreEnabled(), i, m_appenders, and BLOCXX_NAMESPACE::Array< T >::size().

void BLOCXX_NAMESPACE::AppenderLogger::doProcessLogMessage const LogMessage message  )  const [private, virtual]
 

Output the message.

Calls will not be serialized, so the derived class' implementation must be thread safe.

Implements BLOCXX_NAMESPACE::Logger.

Definition at line 82 of file AppenderLogger.cpp.

References i, BLOCXX_NAMESPACE::Logger::logMessage(), m_appenders, and BLOCXX_NAMESPACE::Array< T >::size().

ELogLevel BLOCXX_NAMESPACE::AppenderLogger::getLevel const Array< LogAppenderRef > &  appenders  )  [static, private]
 

Definition at line 135 of file AppenderLogger.cpp.

References BLOCXX_NAMESPACE::E_FATAL_ERROR_LEVEL, BLOCXX_NAMESPACE::Logger::getLogLevel(), i, and BLOCXX_NAMESPACE::Array< T >::size().


Member Data Documentation

Array<LogAppenderRef> BLOCXX_NAMESPACE::AppenderLogger::m_appenders [private]
 

Definition at line 89 of file AppenderLogger.hpp.

Referenced by addLogAppender(), doCategoryIsEnabled(), doComponentAndCategoryAreEnabled(), and doProcessLogMessage().


The documentation for this class was generated from the following files:
Generated on Fri Jun 16 15:39:10 2006 for blocxx by  doxygen 1.4.6