Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

log4cplus::Logger Class Reference

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

#include <logger.h>

Inheritance diagram for log4cplus::Logger:

Inheritance graph
[legend]
Collaboration diagram for log4cplus::Logger:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void assertion (bool assertionVal, const log4cplus::tstring &msg)
 If assertion parameter is false, then logs msg as an error statement.

void closeNestedAppenders ()
 Close all attached appenders implementing the AppenderAttachable interface.

bool isEnabledFor (LogLevel ll) const
 Check whether this logger is enabled for a given LogLevel passed as parameter.

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.

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.

void callAppenders (const spi::InternalLoggingEvent &event)
 Call the appenders in the hierrachy starting at this.

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)
 Set the LogLevel of this Logger.

HierarchygetHierarchy () 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 void addAppender (SharedAppenderPtr newAppender)
 Add an appender.

virtual SharedAppenderPtrList getAllAppenders ()
 Get all previously added appenders as an Enumeration.

virtual SharedAppenderPtr getAppender (const log4cplus::tstring &name)
 Get an appender by name.

virtual void removeAllAppenders ()
 Remove all previously added appenders.

virtual void removeAppender (SharedAppenderPtr appender)
 Remove the appender passed as parameter from the list of appenders.

virtual void removeAppender (const log4cplus::tstring &name)
 Remove the appender with the name passed as parameter from the list of appenders.

 Logger (const Logger &rhs)
Loggeroperator= (const Logger &rhs)
 ~Logger ()
Logger getParent ()
 Used to retrieve the parent of this Logger in the Logger tree.


Static Public Member Functions

bool exists (const log4cplus::tstring &name)
 Returns true if the named logger exists (in the default hierarchy).

LoggerList getCurrentLoggers ()
HierarchygetDefaultHierarchy ()
 Return the default Hierarchy instance.

Logger getInstance (const log4cplus::tstring &name)
 Retrieve a logger with name name.

Logger getInstance (const log4cplus::tstring &name, spi::LoggerFactory &factory)
 Like getInstance(log4cplus::tstring) except that the type of logger instantiated depends on the type returned by the spi::LoggerFactory#makeNewLoggerInstance method of the factory parameter.

Logger getRoot ()
 Return the root of the default logger hierrachy.

void shutdown ()
 Calling this method will safely close and remove all appenders in all the loggers including root contained in the default hierachy.


Protected Attributes

spi::LoggerImplvalue
 This is a pointer to the implementation class.


Friends

class log4cplus::spi::LoggerImpl
class log4cplus::Hierarchy
class log4cplus::HierarchyLocker
class log4cplus::DefaultLoggerFactory

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 57 of file logger.h.


Constructor & Destructor Documentation

log4cplus::Logger::Logger const Logger rhs  ) 
 

log4cplus::Logger::~Logger  ) 
 


Member Function Documentation

virtual void log4cplus::Logger::addAppender SharedAppenderPtr  newAppender  )  [virtual]
 

Add an appender.

Implements log4cplus::spi::AppenderAttachable.

void log4cplus::Logger::assertion bool  assertionVal,
const log4cplus::tstring msg
[inline]
 

If assertion parameter is false, then logs msg as an error statement.

Parameters:
assertion 
msg The message to print if assertion is false.

Definition at line 147 of file logger.h.

References log4cplus::FATAL_LOG_LEVEL.

void log4cplus::Logger::callAppenders const spi::InternalLoggingEvent event  ) 
 

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.

void log4cplus::Logger::closeNestedAppenders  ) 
 

Close all attached appenders implementing the AppenderAttachable interface.

bool log4cplus::Logger::exists const log4cplus::tstring name  )  [static]
 

Returns true if the named logger exists (in the default hierarchy).

Parameters:
name The name of the logger to search for.

void log4cplus::Logger::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.

bool log4cplus::Logger::getAdditivity  )  const
 

Get the additivity flag for this Logger instance.

virtual SharedAppenderPtrList log4cplus::Logger::getAllAppenders  )  [virtual]
 

Get all previously added appenders as an Enumeration.

Implements log4cplus::spi::AppenderAttachable.

virtual SharedAppenderPtr log4cplus::Logger::getAppender const log4cplus::tstring name  )  [virtual]
 

Get an appender by name.

Implements log4cplus::spi::AppenderAttachable.

LogLevel log4cplus::Logger::getChainedLogLevel  )  const
 

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.

LoggerList log4cplus::Logger::getCurrentLoggers  )  [static]
 

Hierarchy& log4cplus::Logger::getDefaultHierarchy  )  [static]
 

Return the default Hierarchy instance.

Hierarchy& log4cplus::Logger::getHierarchy  )  const
 

Return the the Hierarchy where this Logger instance is attached.

Logger log4cplus::Logger::getInstance const log4cplus::tstring name,
spi::LoggerFactory factory
[static]
 

Like getInstance(log4cplus::tstring) except that the type of logger instantiated depends on the type returned by the spi::LoggerFactory#makeNewLoggerInstance method of the factory parameter.

This method is intended to be used by sub-classes.

Parameters:
name The name of the logger to retrieve.
factory A spi::LoggerFactory implementation that will actually create a new Instance.

Logger log4cplus::Logger::getInstance const log4cplus::tstring name  )  [static]
 

Retrieve a logger with name name.

If the named logger already exists, then the existing instance will be returned. Otherwise, a new instance is created.

By default, loggers do not have a set LogLevel but inherit it from the hierarchy. This is one of the central features of log4cplus.

Parameters:
name The name of the logger to retrieve.

LogLevel log4cplus::Logger::getLogLevel  )  const
 

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

Returns:
LogLevel - the assigned LogLevel, can be NOT_SET_LOG_LEVEL.

log4cplus::tstring log4cplus::Logger::getName  )  const
 

Return the logger name.

Logger log4cplus::Logger::getParent  ) 
 

Used to retrieve the parent of this Logger in the Logger tree.

Logger log4cplus::Logger::getRoot  )  [static]
 

Return the root of the default logger hierrachy.

The root logger is always instantiated and available. It's name is "root".

Nevertheless, calling Logger.getInstance("root") does not retrieve the root logger but a logger just under root named "root".

bool log4cplus::Logger::isEnabledFor LogLevel  ll  )  const
 

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

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

void log4cplus::Logger::log LogLevel  ll,
const log4cplus::tstring message,
const char *  file = NULL,
int  line = -1
 

This generic form is intended to be used by wrappers.

Logger& log4cplus::Logger::operator= const Logger rhs  ) 
 

virtual void log4cplus::Logger::removeAllAppenders  )  [virtual]
 

Remove all previously added appenders.

Implements log4cplus::spi::AppenderAttachable.

virtual void log4cplus::Logger::removeAppender const log4cplus::tstring name  )  [virtual]
 

Remove the appender with the name passed as parameter from the list of appenders.

Implements log4cplus::spi::AppenderAttachable.

virtual void log4cplus::Logger::removeAppender SharedAppenderPtr  appender  )  [virtual]
 

Remove the appender passed as parameter from the list of appenders.

Implements log4cplus::spi::AppenderAttachable.

void log4cplus::Logger::setAdditivity bool  additive  ) 
 

Set the additivity flag for this Logger instance.

void log4cplus::Logger::setLogLevel LogLevel   ) 
 

Set the LogLevel of this Logger.

void log4cplus::Logger::shutdown  )  [static]
 

Calling this method will safely close and remove all appenders in all the loggers including root contained in the default hierachy.

Some appenders such as SocketAppender need to be closed before the application exits. Otherwise, pending logging events might be lost.

The shutdown method is careful to close nested appenders before closing regular appenders. This is allows configurations where a regular appender is attached to a logger and again to a nested appender.


Friends And Related Function Documentation

friend class log4cplus::DefaultLoggerFactory [friend]
 

Definition at line 290 of file logger.h.

friend class log4cplus::Hierarchy [friend]
 

Definition at line 288 of file logger.h.

friend class log4cplus::HierarchyLocker [friend]
 

Definition at line 289 of file logger.h.

friend class log4cplus::spi::LoggerImpl [friend]
 

Definition at line 287 of file logger.h.


Member Data Documentation

spi::LoggerImpl* log4cplus::Logger::value [protected]
 

This is a pointer to the implementation class.

Definition at line 266 of file logger.h.


The documentation for this class was generated from the following file:
Generated on Mon Feb 9 09:10:43 2004 for log4cplus by doxygen 1.3.2