DCMTK  Version 3.6.1 20120515
OFFIS DICOM Toolkit
Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | Friends
dcmtk::log4cplus::Logger Class Reference

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

+ Inheritance diagram for dcmtk::log4cplus::Logger:

List of all members.

Public Member Functions

void assertion (bool assertionVal, const tstring &msg) const
 If assertionVal parameter is false, then logs msg with FATAL_LOG_LEVEL log level.
void closeNestedAppenders () const
 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 tstring &message, const char *file=NULL, int line=-1, const char *function=NULL) const
 This generic form is intended to be used by wrappers.
void forcedLog (LogLevel ll, const tstring &message, const char *file=NULL, int line=-1, const char *function=NULL) const
 This method creates a new logging event and logs the event without further checks.
void callAppenders (const spi::InternalLoggingEvent &event) const
 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 ll)
 Set the LogLevel of this Logger.
HierarchygetHierarchy () const
 Return the the Hierarchy where this Logger instance is attached.
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)
virtual SharedAppenderPtrList getAllAppenders ()
virtual SharedAppenderPtr getAppender (const tstring &name)
virtual void removeAllAppenders ()
virtual void removeAppender (SharedAppenderPtr appender)
virtual void removeAppender (const tstring &name)
 Logger (const Logger &rhs)
Loggeroperator= (const Logger &rhs)
void swap (Logger &)
Logger getParent () const
 Used to retrieve the parent of this Logger in the Logger tree.

Static Public Member Functions

static bool exists (const tstring &name)
 Returns true if the named logger exists (in the default hierarchy).
static OFList< LoggergetCurrentLoggers ()
static HierarchygetDefaultHierarchy ()
 Return the default Hierarchy instance.
static Logger getInstance (const tstring &name)
 Retrieve a logger with name name.
static Logger getInstance (const tstring &name, spi::LoggerFactory &factory)
 Like getInstance() except that the type of logger instantiated depends on the type returned by the spi::LoggerFactory#makeNewLoggerInstance method of the factory parameter.
static Logger getRoot ()
 Return the root of the default logger hierrachy.
static 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.

Private Member Functions

 Logger (spi::LoggerImpl *ptr)
 This constructor created a new Logger instance with a pointer to a Logger implementation.

Friends

class spi::LoggerImpl
class Hierarchy
class HierarchyLocker
class 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.


Constructor & Destructor Documentation

dcmtk::log4cplus::Logger::Logger ( spi::LoggerImpl ptr) [private]

This constructor created a new Logger instance with a pointer to a Logger implementation.

You should not create loggers directly.

Parameters:
ptrA pointer to the Logger implementation. This value cannot be NULL.

Member Function Documentation

void dcmtk::log4cplus::Logger::assertion ( bool  assertionVal,
const tstring msg 
) const

If assertionVal parameter is false, then logs msg with FATAL_LOG_LEVEL log level.

Parameters:
assertionValTruth value of assertion condition.
msgThe message to print if assertion is false.

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:
eventthe event to log.
static bool dcmtk::log4cplus::Logger::exists ( const tstring name) [static]

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

Parameters:
nameThe name of the logger to search for.

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

static Logger dcmtk::log4cplus::Logger::getInstance ( const 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:
nameThe name of the logger to retrieve.
static Logger dcmtk::log4cplus::Logger::getInstance ( const tstring name,
spi::LoggerFactory factory 
) [static]

Like getInstance() 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:
nameThe name of the logger to retrieve.
factoryA spi::LoggerFactory implementation that will actually create a new Instance.

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

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

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 dcmtk::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.

Reimplemented in OFLogger.

static void dcmtk::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.


Member Data Documentation

This is a pointer to the implementation class.


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


Generated on Tue May 15 2012 for DCMTK Version 3.6.1 20120515 by Doxygen 1.7.5.1-20111027