# log4cplus::spi::LoggerImpl Class Reference

This is the central class in the log4cplus package. More...

`#include <loggerimpl.h>`

Inheritance diagram for log4cplus::spi::LoggerImpl:

[legend]
Collaboration diagram for log4cplus::spi::LoggerImpl:

[legend]
List of all members.

## Public Member Functions

virtual void | callAppenders (const InternalLoggingEvent &event)
| Call the appenders in the hierrachy starting at `this`.
virtual void | closeNestedAppenders ()
| Close all attached appenders implementing the AppenderAttachable interface.
virtual bool | isEnabledFor (LogLevel ll) const
| Check whether this logger is enabled for a given LogLevel passed as parameter.
virtual void | log (LogLevel ll, const log4cplus::tstring &message, const char *file=NULL, int line=-1)
| This generic form is intended to be used by wrappers.
virtual LogLevel | getChainedLogLevel () const
| Starting from this logger, search the logger hierarchy for a "set" LogLevel and return it.
LogLevel | getLogLevel () const
| Returns the assigned LogLevel, if any, for this Logger.
void | setLogLevel (LogLevel _ll)
| Set the LogLevel of this Logger.
virtual Hierarchy & | getHierarchy () const
| Return the the Hierarchy where this `Logger` instance is attached.
log4cplus::tstring | getName () const
| Return the logger name.
bool | getAdditivity () const
| Get the additivity flag for this Logger instance.
void | setAdditivity (bool additive)
| Set the additivity flag for this Logger instance.
virtual | ~LoggerImpl ()

## Protected Member Functions

| LoggerImpl (const log4cplus::tstring &name, Hierarchy &h)
| This constructor created a new `Logger` instance and sets its name.
virtual void | forcedLog (LogLevel ll, const log4cplus::tstring &message, const char *file=NULL, int line=-1)
| This method creates a new logging event and logs the event without further checks.

## Protected Attributes

log4cplus::tstring | name
| The name of this logger.
LogLevel | ll
| The assigned LogLevel of this logger.
SharedLoggerImplPtr | parent
| The parent of this logger.
bool | additive
| Additivity is set to true by default, that is children inherit the appenders of their ancestors by default.

## Friends

class | log4cplus::Logger
class | log4cplus::DefaultLoggerFactory
class | log4cplus::Hierarchy

## Detailed Description

This is the central class in the log4cplus package.

One of the distintive features of log4cplus are hierarchical loggers and their evaluation.

See the user manual for an introduction on this class.

Definition at line 40 of file loggerimpl.h.

## Constructor & Destructor Documentation

virtual log4cplus::spi::LoggerImpl::~LoggerImpl | ( |  | ) | `[virtual]`

log4cplus::spi::LoggerImpl::LoggerImpl | ( | const log4cplus::tstring & | name,
|  | Hierarchy & | h
| ) | `[protected]`

This constructor created a new `Logger` instance and sets its name.

It is intended to be used by sub-classes only. You should not create loggers directly.

Parameters:

  name | The name of the logger.

## Member Function Documentation

virtual void log4cplus::spi::LoggerImpl::callAppenders | ( | const InternalLoggingEvent & | event | ) | `[virtual]`

Call the appenders in the hierrachy starting at `this`.

If no appenders could be found, emit a warning.

This method calls all the appenders inherited from the hierarchy circumventing any evaluation of whether to log or not to log the particular log request.

Parameters:

  spi::InternalLoggingEvent | the event to log.

virtual void log4cplus::spi::LoggerImpl::closeNestedAppenders | ( |  | ) | `[virtual]`

| Close all attached appenders implementing the AppenderAttachable interface.

virtual void log4cplus::spi::LoggerImpl::forcedLog | ( | LogLevel | ll,
|  | const log4cplus::tstring & | message,
|  | const char * | file = NULL,
|  | int | line = -1
| ) | `[protected, virtual]`

| This method creates a new logging event and logs the event without further checks.

bool log4cplus::spi::LoggerImpl::getAdditivity | ( |  | ) | const

| Get the additivity flag for this Logger instance.

virtual LogLevel log4cplus::spi::LoggerImpl::getChainedLogLevel | ( |  | ) | const`[virtual]`

| Starting from this logger, search the logger hierarchy for a "set" LogLevel and return it. Otherwise, return the LogLevel of the root logger. The Logger class is designed so that this method executes as quickly as possible. Reimplemented in log4cplus::spi::RootLogger.

virtual Hierarchy& log4cplus::spi::LoggerImpl::getHierarchy | ( |  | ) | const`[virtual]`

| Return the the Hierarchy where this `Logger` instance is attached.

LogLevel log4cplus::spi::LoggerImpl::getLogLevel | ( |  | ) | const`[inline]`

Returns the assigned LogLevel, if any, for this Logger.

Returns:
  LogLevel - the assigned LogLevel.

Definition at line 94 of file loggerimpl.h.

References log4cplus::LogLevel.

log4cplus::tstring log4cplus::spi::LoggerImpl::getName | ( |  | ) | const`[inline]`

| Return the logger name. Definition at line 110 of file loggerimpl.h.

virtual bool log4cplus::spi::LoggerImpl::isEnabledFor | ( | LogLevel | ll | ) | const`[virtual]`

Check whether this logger is enabled for a given LogLevel passed as parameter.

Returns:
  boolean True if this logger is enabled for `ll`.

virtual void log4cplus::spi::LoggerImpl::log | ( | LogLevel | ll,
|  | const log4cplus::tstring & | message,
|  | const char * | file = NULL,
|  | int | line = -1
| ) | `[virtual]`

| This generic form is intended to be used by wrappers.

void log4cplus::spi::LoggerImpl::setAdditivity | ( | bool | additive | ) |

| Set the additivity flag for this Logger instance.

void log4cplus::spi::LoggerImpl::setLogLevel | ( | LogLevel | _ll | ) | `[inline]`

| Set the LogLevel of this Logger. Reimplemented in log4cplus::spi::RootLogger. Definition at line 99 of file loggerimpl.h.

## Friends And Related Function Documentation

friend class log4cplus::DefaultLoggerFactory`[friend]`

| Definition at line 186 of file loggerimpl.h.

friend class log4cplus::Hierarchy`[friend]`

| Definition at line 187 of file loggerimpl.h.

friend class log4cplus::Logger`[friend]`

| Definition at line 185 of file loggerimpl.h.

## Member Data Documentation

bool log4cplus::spi::LoggerImpl::additive`[protected]`

Additivity is set to true by default, that is children inherit the appenders of their ancestors by default.

If this variable is set to `false` then the appenders found in the ancestors of this logger are not used. However, the children of this logger will inherit its appenders, unless the children have their additivity flag set to `false` too. See the user manual for more details.

Definition at line 173 of file loggerimpl.h.

LogLevel log4cplus::spi::LoggerImpl::ll`[protected]`

| The assigned LogLevel of this logger. Definition at line 156 of file loggerimpl.h.

log4cplus::tstring log4cplus::spi::LoggerImpl::name`[protected]`

| The name of this logger. Definition at line 151 of file loggerimpl.h.

SharedLoggerImplPtr log4cplus::spi::LoggerImpl::parent`[protected]`

| The parent of this logger. All loggers have at least one ancestor which is the root logger. Definition at line 162 of file loggerimpl.h.

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

- loggerimpl.h